安装APP,随时看
文档分类
当前位置:首页 > android常用控件总结
注意:Android 的上下文菜单不支持图标或快捷键。 创建一个上下文菜单的步骤:
1. 覆盖Activity 的onCreateContenxtMenu() 方法,调用Menu 的add 方法添加菜单项(MenuItem)。
2. 覆盖Activity 的onContextItemSelected() 方法,响应上下文菜单菜单项的单击事件。
3. 调用registerForContextMenu() 方法,为视图注册上下文菜单。 menu_com2.xml
android:id= \ android:layout_width=\ android:layout_height=\ android:text=\长按我 我才会出现TextView\ /> android:id= \ android:layout_width=\ android:layout_height=\ android:text=\长按我 我才会出现Button\ /> public class Context_Menu extends Activity{ public TextView textView_context_Menu; public Button buttont_context_Menu; public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.menu_com2); textView_context_Menu = (TextView)findViewById(R.id.textView_context_Menu); buttont_context_Menu = (Button)findViewById(R.id.button_context_Menu); registerForContextMenu(textView_context_Menu); registerForContextMenu(buttont_context_Menu); //这里的registerForContextMenu()也可以用下面的语句替代 //getContentView().setOnCreateContextMenuListener(this); } //创建Context Menu public void onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo){ if(v==textView_context_Menu){ menu.setHeaderTitle(\这个是什么?\ menu.add(0,0,0,\苹果\ menu.add(0,1,1,\猕猴桃\ }else if(v==buttont_context_Menu){ menu.setHeaderTitle(\我知道是什么了!\ menu.add(2,2,2,\不是苹果\ menu.add(2,3,3,\就是猕猴桃\ } super.onCreateContextMenu(menu, v, menuInfo); } //菜单单击响应 @Override public boolean onContextItemSelected(MenuItem item){ //获取当前被选择的菜单项的信息 switch(item.getItemId()){ case 1: Toast toast=Toast.makeText(Context_Menu.this, \你点击了\ toast.setGravity(Gravity.TOP, 100, 300); toast.show(); break; case 3: Toast toast1=Toast.makeText(Context_Menu.this, \你点击了\ toast1.setGravity(Gravity.TOP, 100, 300); toast1.show(); break; } return true; } } ========================================================================================================== 第四个例子:动态Menu 此为动态Menu的实现 ,采用的是代码布局(非XML布局)。此种Memu用在什么情况下,具体该怎么做? public class Trends_Menu extends Activity{ LinearLayout linearLayout; TextView textView; public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); linearLayout = new LinearLayout(this); linearLayout.setBackgroundColor(android.graphics.Color.BLUE);//设置背景色 linearLayout.setOrientation(linearLayout.VERTICAL);//设置布局方向 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); textView= new TextView(this);//创建TextView对象 textView.setBackgroundColor(Color.YELLOW);//设置背景颜色 textView.setText(\ textView.setTextSize(50); //textView.setHeight(50); //textView.setWidth(100); textView.setTextColor(Color.RED);//设置字体颜色 linearLayout.addView(textView,params);//将textView添加到linearLayout中去 setContentView(linearLayout);//设置ui布局 } public boolean onPrepareOptionsMenu(Menu menu){ String string = textView.getText().toString(); if(string.equals(\ menu.clear();//清掉菜单 MenuItem item = menu.add(0,1,1,\ item.setIcon(android.R.drawable.alert_dark_frame);//android自带的图标 } if(string.equals(\ menu.clear(); MenuItem item = menu.add(1,2,2,\ item.setIcon(android.R.drawable.alert_light_frame); } menu.add(0,2,2,\ return super.onPrepareOptionsMenu(menu); } } ---------------------------------------------------------------------------------------------------------- ListView 一个用来显示列表的控件 1<<678910111213 搜索更多关于: android常用控件总结 的文档
android:id= \ android:layout_width=\ android:layout_height=\ android:text=\长按我 我才会出现Button\ />
public class Context_Menu extends Activity{ public TextView textView_context_Menu; public Button buttont_context_Menu;
public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.menu_com2); textView_context_Menu =
(TextView)findViewById(R.id.textView_context_Menu);
buttont_context_Menu = (Button)findViewById(R.id.button_context_Menu);
registerForContextMenu(textView_context_Menu); registerForContextMenu(buttont_context_Menu);
//这里的registerForContextMenu()也可以用下面的语句替代 //getContentView().setOnCreateContextMenuListener(this); }
//创建Context Menu
public void onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo){
if(v==textView_context_Menu){ menu.setHeaderTitle(\这个是什么?\ menu.add(0,0,0,\苹果\ menu.add(0,1,1,\猕猴桃\ }else if(v==buttont_context_Menu){ menu.setHeaderTitle(\我知道是什么了!\ menu.add(2,2,2,\不是苹果\ menu.add(2,3,3,\就是猕猴桃\ }
super.onCreateContextMenu(menu, v, menuInfo); }
//菜单单击响应 @Override
public boolean onContextItemSelected(MenuItem item){ //获取当前被选择的菜单项的信息 switch(item.getItemId()){ case 1:
Toast toast=Toast.makeText(Context_Menu.this, \你点击了\ toast.setGravity(Gravity.TOP, 100, 300); toast.show(); break; case 3:
Toast toast1=Toast.makeText(Context_Menu.this, \你点击了\ toast1.setGravity(Gravity.TOP, 100, 300); toast1.show(); break; }
return true; } }
========================================================================================================== 第四个例子:动态Menu
此为动态Menu的实现 ,采用的是代码布局(非XML布局)。此种Memu用在什么情况下,具体该怎么做?
public class Trends_Menu extends Activity{ LinearLayout linearLayout; TextView textView;
public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); linearLayout = new LinearLayout(this);
linearLayout.setBackgroundColor(android.graphics.Color.BLUE);//设置背景色
linearLayout.setOrientation(linearLayout.VERTICAL);//设置布局方向
LinearLayout.LayoutParams params = new
LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT); textView= new TextView(this);//创建TextView对象 textView.setBackgroundColor(Color.YELLOW);//设置背景颜色 textView.setText(\ textView.setTextSize(50); //textView.setHeight(50); //textView.setWidth(100);
textView.setTextColor(Color.RED);//设置字体颜色
linearLayout.addView(textView,params);//将textView添加到linearLayout中去
setContentView(linearLayout);//设置ui布局 }
public boolean onPrepareOptionsMenu(Menu menu){ String string = textView.getText().toString(); if(string.equals(\ menu.clear();//清掉菜单
MenuItem item = menu.add(0,1,1,\
item.setIcon(android.R.drawable.alert_dark_frame);//android自带的图标 }
if(string.equals(\ menu.clear();
MenuItem item = menu.add(1,2,2,\ item.setIcon(android.R.drawable.alert_light_frame); }
menu.add(0,2,2,\
return super.onPrepareOptionsMenu(menu); } }
---------------------------------------------------------------------------------------------------------- ListView 一个用来显示列表的控件
共分享92篇相关文档