1、 爲什麼要用到Menu呢? 手機的屏幕空間非常有限,因此充分的利用屏幕空間在手機界面設計中就顯得非常重要了。如果你的活動中有大量的菜單需要顯示,這個時候界面設計就會比較尷尬,因爲僅這些菜單就可能佔用屏幕將近三分之一的空間,這該怎麼辦呢?不用擔心,Android給我們提供了一種方式,可以讓菜單都能得到展示的同時,還能不佔用任何屏幕空間。
2、 效果圖如下:
3、代碼:
(1) 首先在 res 目錄下新建一個menu文件夾,在這個文件夾下新建一個名叫menu的菜單文件(右鍵New —Menu resource file)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/id_add_item" android:title="add"/>
<item android:id="@+id/id_remove_item" android:title="remove"/>
</menu>
(2)在MainActivity中重寫onCreateOptionsMenu()方法和onOptionsItemSelected方法:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
*創建菜單
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu,menu); //通過getMenuInflater()方法得到MenuInflater對象,再調用它的inflate()方法就可以給當前活動創建菜單了,第一個參數:用於指定我們通過哪一個資源文件來創建菜單;第二個參數:用於指定我們的菜單項將添加到哪一個Menu對象當中。
return true; // true:允許創建的菜單顯示出來,false:創建的菜單將無法顯示。
}
/**
*菜單的點擊事件
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.id_add_item:
Toast.makeText(this, "你點擊了 添加!", Toast.LENGTH_SHORT).show();
break;
case R.id.id_remove_item:
Toast.makeText(this, "你點擊了 移除!", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return true;
}
}
覺得這篇文章寫的短小精悍,很實用!
原文地址
https://blog.csdn.net/qq_33833327/article/details/70224270