溫馨提示×

Android入門之Menu組件怎么使用

小億
109
2024-03-18 20:08:49
欄目: 編程語言

Menu組件是Android中用來顯示操作選項的一種UI組件,可以在應用的ActionBar、Toolbar或者PopupMenu中使用。

要使用Menu組件,需要先在res目錄下的menu文件夾中創建一個XML文件來定義Menu的內容,例如menu_main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_settings"
        android:title="Settings"
        app:showAsAction="never"/>
    <item
        android:id="@+id/action_search"
        android:title="Search"
        app:showAsAction="ifRoom"
        android:icon="@drawable/ic_search"/>
</menu>

然后在Activity或Fragment中重寫onCreateOptionsMenu方法,通過MenuInflater將Menu XML文件加載到Menu中:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

接著可以重寫onOptionsItemSelected方法來處理Menu中的點擊事件:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.action_settings) {
        // 處理Settings菜單項的點擊事件
        return true;
    } else if (id == R.id.action_search) {
        // 處理Search菜單項的點擊事件
        return true;
    }
    return super.onOptionsItemSelected(item);
}

最后,在需要顯示Menu的地方調用setHasOptionsMenu(true)來告訴系統該界面具備Menu顯示的條件,例如在Fragment的onCreate方法中:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}

現在就可以在應用的ActionBar、Toolbar或者PopupMenu中顯示自定義的Menu了。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女