【问题标题】:How to customize Spinner's Dropdown background如何自定义 Spinner 的下拉背景
【发布时间】:2014-10-24 06:14:28
【问题描述】:

我想自定义 Android Spinner 的下拉背景。并非适用于应用程序中使用的所有微调器,而仅适用于其中一个。 在做了一些研究后,我在 sdk 的 styles.xml 中找到了这个 Style,但我不知道如何继承它并从我的 Spinner 中使用它。

<style name="Widget.ListPopupWindow">
    <item name="dropDownSelector">@drawable/list_selector_background</item>
    <item name="popupBackground">@drawable/spinner_dropdown_background</item>
    <item name="dropDownVerticalOffset">-10dip</item>
    <item name="dropDownHorizontalOffset">0dip</item>
    <item name="dropDownWidth">wrap_content</item>
</style>

具体来说,我想摆脱默认主题的边框(红色箭头)并使用全宽。

提前致谢

【问题讨论】:

  • 使用 Custom Adapter 并更改 textview 的背景。
  • 你为什么不用滑动抽屉试试这个,让 SpinnerItem 成为一个文本视图,点击显示滑动抽屉,你有以下条目
  • 也许我不够清楚。当作为 DropDown 打开时,我想更改 PopupWindow 内部使用的 ListPopupWindow 的边框。

标签: android user-interface


【解决方案1】:

你可以使用 PopupMenu:

PopupMenu popup = new PopupMenu(this, someButton);
popup.getMenuInflater().inflate(R.menu.your_menu, popup.getMenu());
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
// switch your menu item and do something..
return true;
}
});
popup.show();

之后您可以自定义菜单项:Android custom option menu item

【讨论】:

  • 是的,PopupMenu 可以是一个解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多