【问题标题】:In Spinner, Background get not changed when select on perticular item在 Spinner 中,选择特定项目时背景不会改变
【发布时间】:2016-07-18 20:20:35
【问题描述】:

我想在选择项目时更改我的微调器项目背景(而不是微调器背景)。

我想要这样:

【问题讨论】:

  • 你有没有尝试过?
  • 这应该可以解决问题stackoverflow.com/questions/15379851/…
  • 我不想更改整个 popupBackground 但我只想更改选定的项目弹出背景
  • @ChintakPatel 定义 android:background="@drawable/mybg" 和 。只需浏览我附加的链接的答案
  • @ChintakPatel。 .我也添加了更改文本颜色的代码..

标签: android android-layout spinner android-spinner


【解决方案1】:

首先在drawable folder下创建一个drawable命名

my_click_changer

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/your_new_Color" android:state_pressed="true" />
    <item android:drawable="@color/your_default_Color" android:state_pressed="false" />
</selector>

EDIT这是为了更改text color

创建另一个drawable

text_color_changer

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:color="@android:color/black" android:state_checked="true" />
   <item android:color="@android:color/white" />
 </selector>

然后为每个Spinner 项目创建一个单独的布局,

your_xml_name.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@android:id/text1"
   style="?android:attr/spinnerItemStyle"
   android:layout_width="match_parent"
   android:layout_height="40dp"
   android:background="@drawable/my_click_changer"
   android:ellipsize="marquee"
   android:gravity="center"
   android:padding="10dp"
   android:singleLine="true"
   android:textAlignment="inherit"
   android:textSize="15sp"
   android:textColor="@drawable/text_color_changer"
   android:textStyle="bold" />

并在代码中创建Adapter by

    final ArrayAdapter<String> spinnerAdapter = new ArrayAdapter<String>(getContext(), R.layout.your_xml_name, yourList);

【讨论】:

  • 谢谢,我又添加了一个东西,&lt;item android:drawable="@color/white" android:state_activated="true" /&gt;,这很完美。但是现在我的字体也是白色的,我希望在激活状态时,我的文本应该是黑色的.. 那我该怎么办?
  • @ChintakPatel 我已经考虑到了这一点。请查看我回答的 Edit 部分。我已经回答了。并适当地使用@987654334 @太
猜你喜欢
  • 1970-01-01
  • 2016-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-05
相关资源
最近更新 更多