android – 使用溢出菜单项的自定义视图

android – 使用溢出菜单项的自定义视图,第1张

概述我在 *** 作栏sherlock中的溢出菜单上做任何事都很困难. 理想情况下,我想为每个项目使用自定义TextView,以便在其上设置不同的字体并更改按下状态的颜色. 我试过了(都没有成功): Changing The Style Of Actionbar Overflow Actionbar styled overflow menu items listview as action overflow 我在 *** 作栏sherlock中的溢出菜单上做任何事都很困难.

理想情况下,我想为每个项目使用自定义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 – 使用溢出菜单项的自定义视图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1128830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存