Nit*_*bra 20 android optionmenu android-actionbar
我正在研究android应用程序.我已经在其中实现了支持的操作栏.我想始终显示选项菜单项.但它没有表现出来.它显示在下拉菜单中.我的代码为下面给出的菜单项.
<item
android:id="@+id/action_settings"
android:icon="@drawable/add_post"
android:title="@string/action_settings"
/>
Run Code Online (Sandbox Code Playgroud)
ActionBar Activity的代码如下: -
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
fll*_*llo 44
如果使用AppCompatActionBar,则必须以这种方式更改布局:
<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:icon="@drawable/add_post"
android:title="@string/action_settings"
app:showAsAction="always" />
</menu>
Run Code Online (Sandbox Code Playgroud)
showAsAction属性仅适用于自定义前缀,请参阅文档.根据它:
请注意,上面的showAsAction属性使用标记中定义的自定义命名空间.在使用支持库定义的任何XML属性时,这是必需的,因为旧设备上的Android框架中不存在这些属性.
希望这可以帮助.
Shu*_*ank 27
从文档中,
您应该将showAsAction属性添加到always或ifRoom
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:showAsAction="ifRoom" />
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
Run Code Online (Sandbox Code Playgroud)
你可以android:showAsAction在android菜单xml文件中使用不同的属性值.
要在动作栏上显示所有时间可见菜单,你应该去android:showAsAction="always"..
您也可以使用,android:showAsAction="ifRoom"但它会在操作栏中显示菜单并不总是显示,但它会根据不同的屏幕大小显示.
编辑
参考:菜单项未显示在操作栏上
尝试使用以下代码然后..
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/menu_lang"
app:showAsAction="always" <!-- app:showAsAction="ifRoom" -->
android:title="@string/menu_lang"
android:icon="@android:drawable/ic_input_lang"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
希望它会帮助你.. !!!
删除这一行 xmlns:app="http://schemas.android.com/apk/res-auto"
使用android:showAsAction="always"代替app:showAsAction="always"
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_refresh"
android:icon="@drawable/ic_refresh"
android:showAsAction="ifRoom"
android:title="@string/action_refresh"/>
<item
android:id="@+id/action_filter"
android:icon="@drawable/ic_filter"
android:showAsAction="always"
android:title="@string/action_filter"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28145 次 |
| 最近记录: |