tip*_*ipu 55 android android-menu android-actionbar
我正在菜单项上设置actionLayout并设置背景颜色和图像,但它不受尊重.在我的活动中,我有:
getMenuInflater().inflate(R.menu.submit_action, menu);
Run Code Online (Sandbox Code Playgroud)
我的submit_action是:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_submit"
android:actionLayout="@layout/check"
app:showAsAction="always" />
</menu>
Run Code Online (Sandbox Code Playgroud)
我的支票布局是
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="?android:attr/actionButtonStyle"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#e8e8e8"
android:clickable="true"
android:contentDescription="lol" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:scaleType="centerInside"
android:src="@drawable/ic_action_tick" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
但即使使用了所有这些设置,这就是操作栏的显示方式,根本不显示我的menuitem(但它在那里,因为它响应了点击,但没有出现):

Ben*_*ris 219
尝试app:actionLayout="@layout/check"而不是android:actionLayout="@layout/check".
如果您正在使用ActionbarSherlock或AppCompat,android:命名空间将不适用于MenuItems.这是因为这些库使用模仿Android API的自定义属性,因为它们在早期版本的框架中不存在.
使用Appcompact时,菜单项就像
<item android:id="@+id/cart"
app:actionLayout="@layout/actionbar_cart"
android:title="@string/action_cart"
app:showAsAction="always"
/>
Run Code Online (Sandbox Code Playgroud)
Ben Harris的答案绝对正确.但是,在某些情况下,比如使用以下属性:
app:showAsAction="ifRoom|collapseActionView"
Run Code Online (Sandbox Code Playgroud)
在SearchView中使用(在我的例子中),布局视图没有显示,这给我带来了很多麻烦.appcombat中的动作视图似乎不支持collapseActionView.所以在做你的东西时也要考虑这一点.
| 归档时间: |
|
| 查看次数: |
30064 次 |
| 最近记录: |