Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 614|回复: 0

android 菜单例子[天幕杯]-  Android学习

[复制链接]

该用户从未签到

发表于 2011-10-24 14:46:47 | 显示全部楼层 |阅读模式
也没什么了  就是一个 android菜单的 小例子 实现步骤如下:
     (1)创建一个包含文本视图的XML布局文件。
     (2)创建一个Activity类,其中包含在第一步中定义的布局。
     (3)设置菜单
     (4)向菜单添加一些常规菜单项
     (5)向菜单添加一些辅助菜单项
     (6)响应菜单项
     (7)修改 AndroidManifest.xml文件,以显示应用程序正确的标题
   
   布局文件
Xml代码
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    androidrientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    >

<TextView  

        android:id="@+id/textViewId"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="Debugging Scratch Pad"

    />

</LinearLayout>
复制代码Activity类
java代码
package xiaohang.zhimeng;



import android.app.Activity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.TextView;



public class SampleMenusActivity extends Activity {

        

        Menu myMenu = null;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

    }

   

    //重写onCreateOptionsMenu 并以编程方式设置菜单

    @Override

    public boolean onCreateOptionsMenu(Menu menu) {

            // call the parent to attach any system level menus

             super.onCreateOptionsMenu(menu);

             this.myMenu = menu;

            

             //add a few normal menus

             addRegularMenuItems(menu);

            

             //add a few secondary menus

             add5SecondaryMenuItems(menu);

            

             //it must return true to show the menu

             //if it is false menu won't show

             return true;

            

    }

   

    //添加常规菜单项

    private void addRegularMenuItems(Menu menu){

            int base = Menu.FIRST; // value is 1

            

            menu.add(base, base, base, "append");

            menu.add(base, base+1, base+1, "item 2");

            menu.add(base, base+2, base+2, "clear");

            

            menu.add(base, base+3, base+3, "hide secondary");

            menu.add(base, base+4, base+4, "show secondary");

            

            menu.add(base, base+5, base+5, "enable secondary");

            menu.add(base, base+6, base+6, "disable secondary");

            

            menu.add(base, base+7, base+7, "check secondary");

            menu.add(base, base+8, base+8, "uncheck secondary");

    }

   

    //添加辅助菜单项

    private void add5SecondaryMenuItems(Menu menu){

            //Secondary items are shown just like everything else

            int base=Menu.CATEGORY_SECONDARY;

            

            menu.add(base, base+1, base+1, "sec. item 1");

            menu.add(base, base+2, base+2, "sec. item 2");

            menu.add(base, base+3, base+3, "sec. item 3");

            menu.add(base, base+4, base+4, "sec. item 4");

            menu.add(base, base+5, base+5, "sec. item 5");

            

    }

   

    //响应菜单项单击

    @Override

    public boolean onOptionsItemSelected(MenuItem item) {

            if (item.getItemId() == 1) {

                        appendText("\nhello");

                }

            else if (item.getItemId() ==2) {

                        appendText("\nitem2");

                }

            else if (item.getItemId() == 3) {

                        emptyText();

                }

            else if (item.getItemId() ==4) {

                        //hide secondary

                    this.appendMenuItemText(item);

                    this.myMenu.setGroupVisible(Menu.CATEGORY_SECONDARY, false);

                }

            else if(item.getItemId() == 5){

                    //show secondary

                    this.appendMenuItemText(item);

                    this.myMenu.setGroupVisible(Menu.CATEGORY_SECONDARY, true);

            }

            else if (item.getItemId() == 6) {

                        //enable secondary

                    this.appendMenuItemText(item);

                    this.myMenu.setGroupEnabled(Menu.CATEGORY_SECONDARY, true);

                }

            else if(item.getItemId() == 7){

                    //disable secondary

                    this.appendMenuItemText(item);

                    this.myMenu.setGroupEnabled(Menu.CATEGORY_SECONDARY, false);

            }

            else if (item.getItemId() == 8) {

                        //check secondary

                    this.appendMenuItemText(item);

                    myMenu.setGroupCheckable(Menu.CATEGORY_SECONDARY, true, false);

                }

            else if (item.getItemId() == 9) {

                        //uncheck secondary

                    this.appendMenuItemText(item);

                    myMenu.setGroupCheckable(Menu.CATEGORY_SECONDARY, false, false);

                }

            else {

                        this.appendMenuItemText(item);

                }

            //should return true if the menu item

            //is handled

            return true;

            

    }

   

   

    //向调试TextView 写入数据的实用程序函数

    //Given  a string of text append it to the TextView

    private void appendText(String text){

            TextView tv = (TextView)this.findViewById(R.id.textViewId);

            tv.setText(tv.getText() + text);

    }

   

    //Given a menu item append its title to the TextView

    private void appendMenuItemText(MenuItem menuItem){

            String title = menuItem.getTitle().toString();

            TextView tv = (TextView)this.findViewById(R.id.textViewId);

            tv.setText(tv.getText() + "\n" + title);

    }

   

    //Empty the TextView of its contents

    private void emptyText(){

            TextView tv = (TextView)this.findViewById(R.id.textViewId);

            tv.setText("");

    }

}
复制代码AndroidManifest.xml文件
Xml代码
<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

      package="xiaohang.zhimeng"

      android:versionCode="1"

      android:versionName="1.0">

    <application android:icon="@drawable/icon" android:label="@string/app_name">

        <activity android:name=".SampleMenusActivity"

                  android:label="Sample Menus Application">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>



    </application>

    <uses-sdk android:minSdkVersion="9" />



</manifest>
复制代码
运行效果如下








   源码附件    android_test_menu.rar (41.58 KB, 下载次数: 3)
回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:46:53 | 显示全部楼层

Re:android

刚好写到必须把Menu独立分开的程式
多亏您的帮忙
让我了解许多
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-10-24 14:46:57 | 显示全部楼层

Re:android

不错!很好很强大
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 11:50 , Processed in 0.308053 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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