理想情况下,我想为每个项目使用自定义TextVIEw,以便在其上设置不同的字体并更改按下状态的颜色.
我试过了(都没有成功):
Changing The Style Of Actionbar Overflow
Actionbar styled overflow menu items
listview as action overflow in sherlock actionbar
https://groups.google.com/forum/#!msg/actionbarsherlock/5lHOKNlXn_4/f9XicMXbFFAJ
我的应用程序将有不同的片段,所有片段都在溢出菜单中扩展了不同项目的BaseFragment.我也在使用v4支持包.我正在创建这样的菜单:
@OverrIDepublic voID onCreateOptionsMenu(Menu menu,MenuInflater inflater) { inflater.inflate(R.menu.activity_borrow,menu);}
activity_borrow.xml:
<menu xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item androID:ID="@+ID/menu_filter" androID:title="test" androID:orderIncategory="100" androID:showAsAction="never"/></menu>
我的应用程序使用从theme.Sherlock继承的主题.
如何在该菜单中使用自定义视图?或者至少,我如何更改默认的蓝色按下状态?
解决方法 要更改溢出列表项的颜色,请在应用程序主题中添加两个项,通常在res / values / styles.xml中定义:<item name="androID:dropdownlistviewStyle">@style/dropdownlistview</item><item name="dropdownlistviewStyle">@style/dropdownlistview</item>
在同一个文件中,添加刚刚分配的样式:
<style name="dropdownlistview" parent="@style/Widget.Sherlock.ListVIEw.DropDown"> <item name="androID:ListSelector">@drawable/selectable_background</item></style>
最后在drawable文件夹中创建一个选择器drawable selectable_background.xml,其中包含:
<selector xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:exitFadeDuration="@androID:integer/config_mediumAnimTime" > <item androID:state_pressed="false" androID:state_focused="true" androID:drawable="@color/focussed_color" /> <item androID:state_pressed="true" androID:drawable="@color/pressed_color" /> <item androID:drawable="@androID:color/transparent" /></selector>
最后,定义通常放在colors.xml中的颜色:
<resources> <color name="pressed_color">#FF8E4067</color> <!-- your purple tone already ;) --> <color name="focussed_color">#DD8E4067</color></resources>
在我的应用程序中,我使用了“Actionbar Style Generator”作为baboo建议,它可以方便地为您处理所有事情.对于这个答案,我只是提取并简化了我认为构成溢出菜单样式的部分.
我认为关于造型三种不同物品的效果有一些谜团:
>从我的理解,androID:dropdownlistviewStyle包含了
溢出菜单隐藏在Actionbar中的“三个点”后面.
>不要与androID:actionDropDownStyle混淆,如果您使用了actionbar.setNavigationMode(NAVIGATION_MODE_List),它会用于app导航下拉列表的样式
>但是,一些带有硬件菜单按钮的AndroID设备(例如Nexus S或galaxy S3 Mini)
不显示“三个点”,而是显示从中滑入的叠加菜单
如果单击硬件菜单按钮,则屏幕底部. androID:popupMenuStyle是设置此样式的正确属性.
同样,这只是我记忆中自己的应用程序开发.
此外,请确保检查没有其他样式文件(例如,带有configuration qualifiers的文件夹)会覆盖您刚刚定义的样式.
总而言之,我知道这只会改变列表项的背景颜色.要在其中使用完全自定义视图,您可以创建一个custom spinner view,向Actionbar添加一个带有“三点”图标的虚拟按钮,并在单击时打开微调器.
总结以上是内存溢出为你收集整理的android – 使用溢出菜单项的自定义视图全部内容,希望文章能够帮你解决android – 使用溢出菜单项的自定义视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)