<span style="font-size:12px;">会不会觉得Android自带的菜单不好用?很多时候我们需要好看的设置菜单。在这里介绍一种经常用到的弹出菜单PopupMenu,它展开来是一行一行的选项,个人觉得美观又简洁。 <img src="http://img.blog.csdn.net/20141109004458828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQnJpYW50bWFj/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" height="428" width="327" alt="" /> </span>
首先在res文件夹下新建menu文件,新建main.xml
main.xml文件放的是你要展开的内容,这里简单列两项
<pre name="code" class="java"><span style="font-size:14px;"><menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="哈哈"/> <item android:id="@+id/action_settings2" android:orderInCategory="100" android:showAsAction="never" android:title="帅不"/> </menu></span>
Activity里面只有一个按钮,点击之后展开Menu,要继承OnMenuItemClickListener。下面是简单示例
<span style="font-size:14px;">public class MainActivity extends Activity implements OnMenuItemClickListener { private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn = (Button) findViewById(R.id.button1); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO 自动生成的方法存根 showPopupMenu(btn); } }); } @SuppressLint("NewApi") private void showPopupMenu(View v) { // TODO 自动生成的方法存根 PopupMenu pop = new PopupMenu(this, v); pop.getMenuInflater().inflate(R.menu.main, pop.getMenu()); pop.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem arg0) { // TODO 自动生成的方法存根 switch (arg0.getItemId()) { case R.id.action_settings: showToast("哈哈"); break; case R.id.action_settings2: showToast("帅不"); break; default: break; } return false; } }); pop.show(); } public void showToast(String str) { Toast.makeText(this, str, Toast.LENGTH_SHORT).show(); }</span>