android应用开发详解(四)----------各种菜单(optionmenu、contextmenu、submenu)和Toast的使用
2014-09-17 13:16
661 查看
1、工程目录
2、testoptioncontextsubmenu_toast.java
3、布局文件
4、menu文件中没有添加,菜单项都在主程序中添加的。
2、testoptioncontextsubmenu_toast.java
package com.example.testoptionmenu; import android.os.Bundle; import android.app.Activity; import android.graphics.Color; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class TestOptionMenuActivity extends Activity { private static final int ITEM1 = Menu.FIRST; private static final int ITEM2 = Menu.FIRST + 1; private static final int CONTEXTITEM1 = Menu.FIRST; private static final int CONTEXTITEM2 = Menu.FIRST + 1; private static final int CONTEXTITEM3 = Menu.FIRST + 2; private static final int SUBITEM1 = Menu.FIRST; private static final int SUBITEM2 = Menu.FIRST + 1; private TextView myTextView; private Button myButton1; private Button myButton2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test_option_menu); myTextView = (TextView) findViewById(R.id.layoutTextView01); myButton1 = (Button) findViewById(R.id.layoutButton01); myButton2 = (Button) findViewById(R.id.layoutButton02); registerForContextMenu(myTextView); final int l = Toast.LENGTH_LONG; final int s = Toast.LENGTH_SHORT; final String ls = "我多显示一会儿!"; final String ss = "我少显示一会儿!"; myButton1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), ls, l).show(); } }); myButton2.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), ss, s).show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. // getMenuInflater().inflate(R.menu.test_option_menu, menu); // 添加菜单项 menu.add(0, ITEM1, 0, "开始"); menu.add(0, ITEM2, 0, "退出"); // 添加子菜单 SubMenu file = menu.addSubMenu("文件"); SubMenu edit = menu.addSubMenu("编辑"); // 为子菜单添加菜单项 file.add(0, SUBITEM1, 0, "新建"); file.add(0, SUBITEM2, 0, "打开"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case ITEM1: setTitle("开始游戏!"); break; case ITEM2: setTitle("退出"); break; } // 子菜单项的处理 switch (item.getItemId()) { case SUBITEM1: setTitle("新建文件!"); break; case SUBITEM2: setTitle("打开文件!"); break; } return true; } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { // TODO Auto-generated method stub // super.onCreateContextMenu(menu, v, menuInfo); // 添加菜单项 menu.add(0, CONTEXTITEM1, 0, "红色背景"); menu.add(0, CONTEXTITEM2, 0, "绿色背景"); menu.add(0, CONTEXTITEM3, 0, "白色背景"); } @Override public boolean onContextItemSelected(MenuItem item) { // TODO Auto-generated method stub // return super.onContextItemSelected(item); switch (item.getItemId()) { case CONTEXTITEM1: myTextView.setBackgroundColor(Color.RED); break; case CONTEXTITEM2: myTextView.setBackgroundColor(Color.GREEN); break; case CONTEXTITEM3: myTextView.setBackgroundColor(Color.WHITE); break; } return true; } }
3、布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/layoutTextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <LinearLayout android:id="@+id/layoutLinear01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal" > <Button android:id="@+id/layoutButton01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="长时间" /> <Button android:id="@+id/layoutButton02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="短时间" /> </LinearLayout> </LinearLayout>
4、menu文件中没有添加,菜单项都在主程序中添加的。
相关文章推荐
- Android开发之Menu:OptionMenu(选项菜单)、ContextMenu(上下文菜单)、SubMenu(子菜单)
- Android开发之Menu:OptionMenu(选项菜单)、ContextMenu(上下文菜单)、SubMenu(子菜单)
- 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
- 【Android 应用开发】OpenGL ES 2.0 -- 制作 3D 彩色旋转三角形 - 顶点着色器 片元着色器 使用详解
- 【Android 应用开发】 ActionBar 样式详解 -- 样式 主题 简介 Actionbar 的 icon logo 标题 菜单样式修改
- 【Android 应用开发】 ActionBar 样式详解 -- 样式 主题 简介 Actionbar 的 icon logo 标题 菜单样式修改
- Android应用开发学习—Toast使用方法大全
- 【Android 应用开发】分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计
- 【Android 应用开发】 FastJson 使用详解
- Android应用开发学习—Toast使用方法大全
- Android菜单详解(四)——使用上下文菜单ContextMenu
- Android应用开发学习—Toast使用方法大全
- Android应用开发之Toast使用方法
- Android应用开发学习—Toast的使用(位置变化及重新自定义)
- 【Android应用开发】 推送原理解析 极光推送使用详解 (零基础精通推送)
- 使用OpenGL开发Android应用详解系列三
- 【Android 应用开发】 ActionBar 样式详解 -- 样式 主题 简介 Actionbar 的 icon logo 标题 菜单样式修改
- android应用开发详解(九)-----------------------各种视图
- 【Android 应用开发】分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计
- Android菜单详解(四)——使用上下文菜单ContextMenu