鱼C论坛

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

android学习之menu与ActionBar

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

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

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

x
本案例主要实现的是在标题栏上面添加菜单以及标题栏的隐藏:
1.布局文件的配置:
<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <Button
        android:id="@+id/show"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="37dp"
        android:text="显示ActionBar" 
        android:onClick="show"
        />

    <Button
        android:id="@+id/hide"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/show"
        android:layout_below="@+id/show"
        android:layout_marginTop="23dp"
        android:onClick="hide"
        android:text="隐藏ActionBar" />

</RelativeLayout>
2.my_menu.xml文件的配置:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
  <item android:title="菜单"
         android:showAsAction="always|withText"
         
       >
       <menu>
            <group android:checkableBehavior="single">
                  <item android:id="@+id/font_10"
                        android:title="选择联系人" />
                  
                   <item android:id="@+id/font_12"
                         android:title="选择短信" />
                   
                    <item android:id="@+id/font_14"
                          android:title="我的音乐" />
                    
                    <item android:id="@+id/font_16"
                          android:title="我的QQ" />
                     
                    <item android:id="@+id/font_18"
                          android:title="我的服务" />
                        
            </group>
       </menu>
   </item>
   
   <item
        android:id="@+id/plain_item"
        android:showAsAction="always|withText"
        android:title="我的时钟" />
   
   <item 
       android:id="@+id/font_color"
       android:showAsAction="always|withText"
       android:title="选择颜色" 
       >
       <menu>
           
           <group>
               
               <item android:id="@+id/red_font" android:title="红色"/>
               
                <item android:id="@+id/green_font" android:title="绿色"/>
                
                 <item android:id="@+id/bule_font" android:title="蓝色"/>
           </group>
       </menu>
       
   </item>
</menu>

3、activity程序功能的实现:


package com.example.actionbar_test;

import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends Activity {

        private ActionBar actionBar;
        private TextView tV;
        
        @SuppressLint("NewApi")
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                
                this.tV = (TextView) this.findViewById(R.id.textView1);
                actionBar = this.getActionBar();
                
                actionBar.setDisplayShowHomeEnabled(true);
                actionBar.setHomeButtonEnabled(true);
                actionBar.setDisplayHomeAsUpEnabled(true);
                actionBar.setDisplayShowTitleEnabled(true);
        }

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

        /**
         * onOptionsItemSelected
         * item.getItemId()  获得子菜单项的id并更改其文字的大小
         */
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
                // TODO Auto-generated method stub
                switch(item.getItemId())
                {
                case R.id.font_10:
                        tV.setTextSize(10);
                        break;
                case R.id.font_12:
                        this.tV.setTextSize(12);
                        break;
                case R.id.font_14:
                        
                        this.tV.setTextSize(14);
                        break;
                case R.id.font_16:
                        this.tV.setTextSize(16);
                        break;
                case R.id.font_18:
                        this.tV.setTextSize(15);
                        break;
                case R.id.plain_item:
                        this.finish();
                        break;
                }
                return super.onOptionsItemSelected(item);
        }

        //显示ActionBar按钮的方法
        public void show(View v)
        {
                actionBar.show();
        }
        //隐藏ActionBar按钮的方法
        public void hide(View v)
        {
                actionBar.hide();
        }
}
QQ截图20141122185157.png QQ截图20141122185306.png


本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 16:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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