android_菜单的创建_xUtils框架使用
2015-08-03 23:51
489 查看
layout文件:
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<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/txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="测试"
/>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="弹出式菜单"
/>
</LinearLayout>
menu文件:
menu_1.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_open"
android:icon="@android:drawable/star_on"
android:title="打开"/>
<item
android:id="@+id/menu_close"
android:icon="@android:drawable/star_off"
android:title="关闭"/>
</menu>
Activity文件:
MenuActivity.java
package com.example.cn01;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.widget.PopupMenu;
import android.support.v7.widget.PopupMenu.OnMenuItemClickListener;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.example.android0723.R;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
public class MenuActivity extends Activity {
//ViewInject 引用必须放在前面
@ViewInject(R.id.btn)
TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_layout);
txt = (TextView) findViewById(R.id.txt);
//ViewUtils 注入
ViewUtils.inject(this);
}
//Button单击事件
//@OnClick({R.id.btn,R.id.btn1})
@OnClick(R.id.btn)
public void setBtnClick(View view) {
// TODO Auto-generated method stub
//第一步:创建弹出菜单
PopupMenu popupMenu = new PopupMenu(MenuActivity.this, view);
//第二步:菜单的样式,通过XML填充弹出菜单
getMenuInflater().inflate(R.menu.menu_1, popupMenu.getMenu());
//第三步:实现事件功能
popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.menu_open:
setToast("打开");
break;
case R.id.menu_close:
setToast("关闭");
default:
break;
}
return false;
}
});
//第四步:使用show()方法将菜单显示出来
popupMenu.show();
}
//Toast 提示方法
public void setToast(String string){
Toast.makeText(MenuActivity.this, string, Toast.LENGTH_SHORT).show();
}
// 菜单的创建
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
//第一种:通过xml填充
// MenuInflater menuInflater = getMenuInflater();
// menuInflater.inflate(R.menu.main, menu);
//第二种:代码直接实现
menu.addSubMenu(1, 0x123, 1, "修改字体颜色");
return super.onCreateOptionsMenu(menu);
}
// 菜单的执行
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case 0x123:
txt.setTextColor(Color.RED);
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
// 上下文菜单创建
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
}
// 上下文菜单执行
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
return super.onContextItemSelected(item);
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<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/txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="测试"
/>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="弹出式菜单"
/>
</LinearLayout>
menu文件:
menu_1.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_open"
android:icon="@android:drawable/star_on"
android:title="打开"/>
<item
android:id="@+id/menu_close"
android:icon="@android:drawable/star_off"
android:title="关闭"/>
</menu>
Activity文件:
MenuActivity.java
package com.example.cn01;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.widget.PopupMenu;
import android.support.v7.widget.PopupMenu.OnMenuItemClickListener;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.example.android0723.R;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
public class MenuActivity extends Activity {
//ViewInject 引用必须放在前面
@ViewInject(R.id.btn)
TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_layout);
txt = (TextView) findViewById(R.id.txt);
//ViewUtils 注入
ViewUtils.inject(this);
}
//Button单击事件
//@OnClick({R.id.btn,R.id.btn1})
@OnClick(R.id.btn)
public void setBtnClick(View view) {
// TODO Auto-generated method stub
//第一步:创建弹出菜单
PopupMenu popupMenu = new PopupMenu(MenuActivity.this, view);
//第二步:菜单的样式,通过XML填充弹出菜单
getMenuInflater().inflate(R.menu.menu_1, popupMenu.getMenu());
//第三步:实现事件功能
popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.menu_open:
setToast("打开");
break;
case R.id.menu_close:
setToast("关闭");
default:
break;
}
return false;
}
});
//第四步:使用show()方法将菜单显示出来
popupMenu.show();
}
//Toast 提示方法
public void setToast(String string){
Toast.makeText(MenuActivity.this, string, Toast.LENGTH_SHORT).show();
}
// 菜单的创建
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
//第一种:通过xml填充
// MenuInflater menuInflater = getMenuInflater();
// menuInflater.inflate(R.menu.main, menu);
//第二种:代码直接实现
menu.addSubMenu(1, 0x123, 1, "修改字体颜色");
return super.onCreateOptionsMenu(menu);
}
// 菜单的执行
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case 0x123:
txt.setTextColor(Color.RED);
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
// 上下文菜单创建
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
}
// 上下文菜单执行
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
return super.onContextItemSelected(item);
}
}
相关文章推荐
- android屏幕适配
- Android Activity和Service之间的通信
- Android 判断当前线程是否是主线程的两种方法
- Android之史上最强ListView优化方案
- Android利用Binder类实现对服务的调用
- Android之——获取进程总数、内存、任务列表
- android studio imageview src Failed convert xxxx into drawable xxxx
- Android中异步任务的操作
- Android 02:Android中Adapter用法总结
- Android用Path类绘制路径
- [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
- Android绘图Canvas、Paint类基本用法
- 关闭Android 应用的三种方法
- Android 实例:通过自定义View组件实现跟随手指移动的小兔子
- Android Hotpatch系列之-项目介绍
- Android推送 百度云推送 入门篇
- Android基础之Activity四种启动模式和task相关
- Android真机获取root权限,进入data目录
- android动态添加view
- Android 中Junit 测试框架(单元测试)