nol*_*man 15 android styles actionbarsherlock drop-down-menu
我已经尝试了一段时间来设置我添加到Action Bar的下拉列表中的项目样式,但我无法想出正确的代码.
我试着调查abs__styles.xml并abs__themes.xml在SherlockActionBar项目中,但我添加到项目中的项目都没有.
我正在创建菜单的方式如下:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Sharing icons
SubMenu submenu = menu.addSubMenu(null);
submenu.add(getResources().getString(R.string.twitter));
submenu.add(getResources().getString(R.string.facebook));
submenu.add(getResources().getString(R.string.email));
// Share button itself
MenuItem ShareButton = submenu.getItem();
ShareButton.setIcon(R.drawable.icon_share_triangle);
ShareButton.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
// Twitter submenu button
MenuItem TwitterItem = submenu.getItem(0);
TwitterItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
TwitterItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
setShareTwitterIntent();
return true;
}
});
...
}
Run Code Online (Sandbox Code Playgroud)
我也尝试使用以下代码看看这篇文章,但仍然没有运气:
<!-- style the list navigation -->
<style name="MyDropDownNav" parent="android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar">
<item name="android:background">@drawable/ad_spinner_background_holo_light</item>
<item name="android:popupBackground">@drawable/ad_menu_dropdown_panel_holo_light</item>
<item name="android:dropDownSelector">@drawable/ad_selectable_background</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我只需要更改下拉列表中项目的背景颜色.
非常感谢你的帮助!
编辑:
我也尝试了这个,它仍然无效:
<item name="android:actionDropDownStyle">@style/MyApp.DropDownNav</item>
<item name="actionDropDownStyle">@style/MyApp.DropDownNav</item>
...
<style name="MyApp.DropDownNav" parent="Widget.Sherlock.Light.Spinner.DropDown.ActionBar">
<item name="android:background">@drawable/sharing_panel</item>
</style>
Run Code Online (Sandbox Code Playgroud)
Ric*_*lis 27
我遇到了同样的问题,并经过大量的头部刮伤 - 就像一只带有跳蚤坏情况的狗一样刮伤 - 我得到了它的工作.这是ABS 4.1(90).以下代码将更改下拉项的背景颜色.
SomeActivity.java
Context context = ab.getThemedContext();
ArrayAdapter<CharSequence> list = ArrayAdapter.createFromResource(
context, R.array.map_activity_view_list,
R.layout.sherlock_spinner_item);
list.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);
Run Code Online (Sandbox Code Playgroud)
注意:您使用R.layout.sherlock_spinner_item作为createFromResource,使用R.layout.sherlock_spinner_dropdown_item作为setDropDownViewResource.这是ABS源代码中的示例:https: //github.com/JakeWharton/ActionBarSherlock/blob/master/samples/demos/src/com/actionbarsherlock/sample/demos/ListNavigation.java
这是因为当sherlock_spinner_item布局和实际下拉项目使用sherlock_spinner_dropdown_item布局时,操作栏中未选中的下拉列表意味着每个样式的样式不同:
请记住两种样式都需要 - android:用于原生ICS ActionBar的前缀样式,而没有android:前缀的样式用于早于ICS的设备上的AcrionBarSherlock样式.
RES /值/ styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.MyApp" parent="Theme.Sherlock.Light">
<!-- the text when loading -->
<!--
<item name="actionBarStyle">@style/Widget.MyApp.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.MyApp.ActionBar</item>
-->
<!-- the dropdown items -->
<item name="android:spinnerDropDownItemStyle">@style/MyApp.Widget.Holo.DropDownItem</item>
<item name="spinnerDropDownItemStyle">@style/MyApp.Widget.Holo.DropDownItem</item>
<!-- the action bar dropdown menu item -->
<!--
<item name="android:spinnerItemStyle">@style/MyApp.Widget.Holo.SpinnerItem</item>
<item name="spinnerItemStyle">@style/MyApp.Widget.Holo.SpinnerItem</item>
-->
</style>
<style name="Widget.MyApp.ActionBar" parent="Widget.Sherlock.Light.ActionBar">
<item name="titleTextStyle">@style/Widget.MyApp.TitleTextStyle</item>
<item name="android:titleTextStyle">@style/Widget.MyApp.TitleTextStyle</item>
</style>
<style name="Widget.MyApp.TitleTextStyle" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
<item name="android:textColor">@color/orange</item>
</style>
<style name="MyApp.Widget.Holo.DropDownItem" parent="Widget.Sherlock.Light.DropDownItem.Spinner">
<item name="android:background">@color/orange</item>
</style>
<style name="MyApp.Widget.Holo.SpinnerItem" parent="Widget.Sherlock.TextView.SpinnerItem">
<item name="android:background">@color/orange</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
RES /值/ color.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="orange">#ffEf4f1f</color>
</resources>
Run Code Online (Sandbox Code Playgroud)
如果能为您解决,请标记为答案.谢谢!
链接:
浏览样式:
浏览主题:
| 归档时间: |
|
| 查看次数: |
18501 次 |
| 最近记录: |