我想创建一个与 Whatsapp 类似的选项菜单,即使设备有自己的“硬件”选项按钮。我在网上找到的解决方案工作得很好,直到我想向栏添加另一个操作。
菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:title=""
android:id="@+id/addViewedMovie"
android:icon="@mipmap/ic_add_to_queue_black_24px"
android:showAsAction="always"
></item>
<item
android:title=""
android:id="@+id/menu_overflow"
android:icon="@mipmap/ic_more_vert_white_48dp"
app:showAsAction="always">
<menu>
<item
android:id="@+id/show_settings"
app:showAsAction="never"
android:title="@string/setttings"/>
<item
android:id="@+id/show_help"
app:showAsAction="never"
android:title="@string/help"/>
<item
android:id="@+id/show_about"
app:showAsAction="never"
android:title="@string/about"/>
</menu>
</item>
</menu>
这在我的 MainActivity 中:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
这样,应用程序会强制将 addViewedMovie 操作放入溢出菜单中。有谁知道如何防止这种情况吗?
最佳答案
尝试这段代码并告诉我它是否有效..您应该使用app:showAsAction
而不是android:showAsAction
而且您不需要使用子菜单来显示3个点..下面的代码工作正常也显示3个点
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:title="Movie"
android:id="@+id/addViewedMovie"
android:icon="@mipmap/ic_add_to_queue_black_24px"
app:showAsAction="always"/>
<item
android:id="@+id/show_settings"
app:showAsAction="never"
android:title="@string/setttings"/>
<item
android:id="@+id/show_help"
app:showAsAction="never"
android:title="@string/help"/>
<item
android:id="@+id/show_about"
app:showAsAction="never"
android:title="@string/about"/>
</menu>
关于java - Android Activity 菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43248218/