首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android ActionBar详解(2)->使用ActionBar显示选项菜单

2013-10-10 
Android ActionBar详解(二)---使用ActionBar显示选项菜单MainActivity如下:package cc.testsimpleactionb

Android ActionBar详解(二)--->使用ActionBar显示选项菜单

MainActivity如下:

package cc.testsimpleactionbar1;import android.os.Bundle;import android.app.Activity;import android.graphics.Color;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;import android.widget.Toast;/** * Demo描述: * 使用ActionBar显示选项菜单 *  * 背景资料: * Android手机不强制要求设备必须有Menu键,这样导致的问题是用户无法打开 * 选项菜单.但此时即可以将选项菜单设置成Action Item. * 即从Android 3.0 开始为MenuItem新增如下方法: * setShowAsAction(int actionEnum),该方法用于设置是否将该菜单栏 * 显示在ActionBar上,作为ActionItem * 参数值如下: * SHOW_AS_ACTION_ALWAYS:总是将该MenuItem显示在ActionBar上 * SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW:将该Action View折叠成普通菜单项 * SHOW_AS_ACTION_IF_ROOM:当ActionBar位置有足够空间时才显示该MenuItem * SHOW_AS_ACTION_NEVER:不将该MenuItem显示在ActionBar上 * SHOW_AS_ACTION_WITH_TEXT:将该MenuItem显示在ActionBar上,且显示该菜单项的文本 *  * 当然我们最好是在xml文件中来定义菜单. * 所以在menu下的item属性中指定showAsAction属性即可 * 该属性的值和上面提到的参数值的表达形式很类似,作用是相同的 *  *  * 参考资料: * 1 Android疯狂讲义(第二版) * 2 http://blog.csdn.net/think_soft/article/details/7378824 *   Thank you very much *  * 测试说明: * 当手机处于横屏的时候,在因为ActionBar的空间有限 * 所以只会显示每个Item的图标,不会显示其title * 在横屏的时候既显示图标也显示title * */public class MainActivity extends Activity {    private TextView mTipTextView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();}private void init(){mTipTextView=(TextView) findViewById(R.id.tipTextView);}//生成对应的菜单,并添加到Menu中@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.action_menu, menu);return true;}//菜单项被选中时执行该方法@Overridepublic boolean onOptionsItemSelected(MenuItem menuItem) {if (menuItem.isCheckable()) {menuItem.setChecked(true);}switch (menuItem.getItemId()) {case R.id.font10:mTipTextView.setTextSize(10 * 2);break;case R.id.font12:mTipTextView.setTextSize(12 * 2);break;case R.id.font14:mTipTextView.setTextSize(14 * 2);break;case R.id.font16:mTipTextView.setTextSize(16 * 2);break;case R.id.font18:mTipTextView.setTextSize(18 * 2);break;case R.id.redFont:mTipTextView.setTextColor(Color.RED);break;case R.id.greenFont:mTipTextView.setTextColor(Color.GREEN);break;case R.id.blueFont:mTipTextView.setTextColor(Color.BLUE);break;case R.id.plain_item:Toast toast = Toast.makeText(MainActivity.this, "单击了普通菜单项",Toast.LENGTH_SHORT);toast.show();break;default:break;}return true;}}


main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <TextView        android:id="@+id/tipTextView"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_centerInParent="true"        android:text="可通过菜单修改文字的大小和颜色"        android:textSize="16sp"        android:gravity="center"     /></RelativeLayout>


action_menu.xml如下:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >     <item          android:title="文字大小"         android:icon="@drawable/font"         android:showAsAction="always|withText">         <menu>             <group android:checkableBehavior="single">                 <item                      android:id="@+id/font10"                     android:title="10"                     />                 <item                      android:id="@+id/font12"                     android:title="12"                     />                 <item                      android:id="@+id/font14"                     android:title="14"                     />                 <item                      android:id="@+id/font16"                     android:title="16"                     />                 <item                      android:id="@+id/font18"                     android:title="18"                     />             </group>         </menu>     </item>          <item          android:id="@+id/plain_item"         android:icon="@drawable/ic_launcher"         android:title="普通菜单项"         android:showAsAction="always|withText"     />         <item          android:title="设置颜色"         android:icon="@drawable/color"         android:showAsAction="always|withText">         <menu>             <group>                 <item                      android:id="@+id/redFont"                     android:title="红色"                     />                 <item                      android:id="@+id/greenFont"                     android:title="绿色"                     />                 <item                      android:id="@+id/blueFont"                     android:title="蓝色"                     />             </group>         </menu>     </item></menu>


 

1楼nos198809185分钟前
建议博主给出运行截图^_^

热点排行