鱼C论坛

 找回密码
 立即注册
查看: 2207|回复: 0

android学习之menu与ActionBar

[复制链接]
发表于 2014-11-22 19:03:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本案例主要实现的是在标题栏上面添加菜单以及标题栏的隐藏:
1.布局文件的配置:
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:paddingBottom="@dimen/activity_vertical_margin"
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"
  7.     android:paddingRight="@dimen/activity_horizontal_margin"
  8.     android:paddingTop="@dimen/activity_vertical_margin"
  9.     tools:context=".MainActivity" >

  10.     <TextView
  11.         android:id="@+id/textView1"
  12.         android:layout_width="wrap_content"
  13.         android:layout_height="wrap_content"
  14.         android:text="@string/hello_world" />

  15.     <Button
  16.         android:id="@+id/show"
  17.         android:layout_width="wrap_content"
  18.         android:layout_height="wrap_content"
  19.         android:layout_alignLeft="@+id/textView1"
  20.         android:layout_below="@+id/textView1"
  21.         android:layout_marginTop="37dp"
  22.         android:text="显示ActionBar"
  23.         android:onClick="show"
  24.         />

  25.     <Button
  26.         android:id="@+id/hide"
  27.         android:layout_width="wrap_content"
  28.         android:layout_height="wrap_content"
  29.         android:layout_alignLeft="@+id/show"
  30.         android:layout_below="@+id/show"
  31.         android:layout_marginTop="23dp"
  32.         android:onClick="hide"
  33.         android:text="隐藏ActionBar" />

  34. </RelativeLayout>
复制代码
2.my_menu.xml文件的配置:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <menu xmlns:android="http://schemas.android.com/apk/res/android" >
  3.    
  4.   <item android:title="菜单"
  5.          android:showAsAction="always|withText"
  6.          
  7.        >
  8.        <menu>
  9.             <group android:checkableBehavior="single">
  10.                   <item android:id="@+id/font_10"
  11.                         android:title="选择联系人" />
  12.                   
  13.                    <item android:id="@+id/font_12"
  14.                          android:title="选择短信" />
  15.                   
  16.                     <item android:id="@+id/font_14"
  17.                           android:title="我的音乐" />
  18.                     
  19.                     <item android:id="@+id/font_16"
  20.                           android:title="我的QQ" />
  21.                      
  22.                     <item android:id="@+id/font_18"
  23.                           android:title="我的服务" />
  24.                         
  25.             </group>
  26.        </menu>
  27.    </item>
  28.    
  29.    <item
  30.         android:id="@+id/plain_item"
  31.         android:showAsAction="always|withText"
  32.         android:title="我的时钟" />
  33.    
  34.    <item
  35.        android:id="@+id/font_color"
  36.        android:showAsAction="always|withText"
  37.        android:title="选择颜色"
  38.        >
  39.        <menu>
  40.            
  41.            <group>
  42.                
  43.                <item android:id="@+id/red_font" android:title="红色"/>
  44.                
  45.                 <item android:id="@+id/green_font" android:title="绿色"/>
  46.                
  47.                  <item android:id="@+id/bule_font" android:title="蓝色"/>
  48.            </group>
  49.        </menu>
  50.       
  51.    </item>
  52. </menu>
复制代码


3、activity程序功能的实现:


  1. package com.example.actionbar_test;

  2. import android.os.Bundle;
  3. import android.annotation.SuppressLint;
  4. import android.app.ActionBar;
  5. import android.app.Activity;
  6. import android.view.Menu;
  7. import android.view.MenuItem;
  8. import android.view.View;
  9. import android.widget.TextView;

  10. public class MainActivity extends Activity {

  11.         private ActionBar actionBar;
  12.         private TextView tV;
  13.        
  14.         @SuppressLint("NewApi")
  15.         @Override
  16.         protected void onCreate(Bundle savedInstanceState) {
  17.                 super.onCreate(savedInstanceState);
  18.                 setContentView(R.layout.activity_main);
  19.                
  20.                 this.tV = (TextView) this.findViewById(R.id.textView1);
  21.                 actionBar = this.getActionBar();
  22.                
  23.                 actionBar.setDisplayShowHomeEnabled(true);
  24.                 actionBar.setHomeButtonEnabled(true);
  25.                 actionBar.setDisplayHomeAsUpEnabled(true);
  26.                 actionBar.setDisplayShowTitleEnabled(true);
  27.         }

  28.         //点击子项
  29.        
  30.         @Override
  31.         public boolean onCreateOptionsMenu(Menu menu) {
  32.                 // Inflate the menu; this adds items to the action bar if it is present.
  33.                 getMenuInflater().inflate(R.menu.my_menu, menu);
  34.                 return true;
  35.         }

  36.         /**
  37.          * onOptionsItemSelected
  38.          * item.getItemId()  获得子菜单项的id并更改其文字的大小
  39.          */
  40.         @Override
  41.         public boolean onOptionsItemSelected(MenuItem item) {
  42.                 // TODO Auto-generated method stub
  43.                 switch(item.getItemId())
  44.                 {
  45.                 case R.id.font_10:
  46.                         tV.setTextSize(10);
  47.                         break;
  48.                 case R.id.font_12:
  49.                         this.tV.setTextSize(12);
  50.                         break;
  51.                 case R.id.font_14:
  52.                        
  53.                         this.tV.setTextSize(14);
  54.                         break;
  55.                 case R.id.font_16:
  56.                         this.tV.setTextSize(16);
  57.                         break;
  58.                 case R.id.font_18:
  59.                         this.tV.setTextSize(15);
  60.                         break;
  61.                 case R.id.plain_item:
  62.                         this.finish();
  63.                         break;
  64.                 }
  65.                 return super.onOptionsItemSelected(item);
  66.         }

  67.         //显示ActionBar按钮的方法
  68.         public void show(View v)
  69.         {
  70.                 actionBar.show();
  71.         }
  72.         //隐藏ActionBar按钮的方法
  73.         public void hide(View v)
  74.         {
  75.                 actionBar.hide();
  76.         }
  77. }
复制代码
QQ截图20141122185157.png QQ截图20141122185306.png


本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-5 11:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表