我创建了我的主题以与应用程序一起使用,主题的父级是Theme.AppCompat.Light.NoActionBar
这是适配器代码
val adapter = ArrayAdapter.createFromResource(activity,
R.array.email_type_array, android.R.layout.simple_spinner_item)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
child.spinner.adapter = adapter
有没有简单的方法可以在Android中更改Spinner下拉颜色?
答案 0 :(得分:6)
是肯定的。您可以在xml
中使用以下属性for spinnerandroid:popupBackground="YOUR_HEX_COLOR_CODE"
更改textcolor等为您的微调器项目创建自定义XML文件。
<强> spin_item.xml:强>
然后提供您想要的颜色和尺寸:
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp"
android:textColor="#000000"
android:padding="4dp"
/>
然后像这样使用它:
val adapter = ArrayAdapter.createFromResource(activity,
R.array.email_type_array, android.R.layout.simple_spinner_item)
adapter.setDropDownViewResource(R.layout.spin_item)
答案 1 :(得分:1)
通过代码
bundle install --pre
或通过XML
对于API 21 +:
gem update rails
或者如果您使用支持库,则可以使用:
Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.getBackground().setColorFilter(getResources().getColor(R.color.red), PorterDuff.Mode.SRC_ATOP);
答案 2 :(得分:1)
在您的代码中,在onCreate()中添加以下内容:
Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.getBackground().setColorFilter(getResources().getColor(R.color.red),
PorterDuff.Mode.SRC_ATOP);
答案 3 :(得分:1)
创建一个类似于此
的新布局文件MY REQUIRED COLOR
在我说android:id
的地方,请将其设置为您想要的颜色。
另外请确保您不要更改val adapter = ArrayAdapter.createFromResource(activity,
R.array.email_type_array, .R.layout.custom_ simple_spinner_item)
属性,因为arrayadapter将使用此属性将文本设置为textview
然后在创建期间将其设置为arrayadapter,如此
var ArryString = [];
var data = ["Abc", "Xyz,Hji,Lol", "Uyi,Mno"];
var index=0;
for (var k in data){
var a=data[k].split(",");
ArryString[index]=a[0].charAt(0);
if(a.length > 1)
for (var l=1 ;l<a.length ; l++)
ArryString[index]+=","+a[l].charAt(0);
index++;
}
console.log(ArryString);
答案 4 :(得分:0)
location_Survey_Spin = findViewById(R.id.location_Survey_Spinner); location_Survey_Spin.getBackground()。setColorFilter(getResources()。getColor(R.color.black),PorterDuff.Mode.SRC_ATOP); //它将更改微调框下拉菜单的颜色
答案 5 :(得分:0)
要更改下拉背景颜色,请在XML文件中为android:popupBackground="@color/aColor"
小部件使用Spinner
:
<Spinner
android:id="@+id/my_spinner"
android:layout_width="100dp"
android:layout_height="match_parent"
android:popupBackground="@color/aColor" />
在styles.xml
文件上使用浅色主题播放时,旋转下拉菜单图标颜色将为黑色,但是请注意,如果您使用的是<item name="android:textColorSecondary">@color/aColor</item>
,则下拉图标将会选择那种颜色:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorSecondary">@color/aColor</item>
即使您的问题是要更改下拉菜单背景颜色,我来这里也是因为我一直想了解为什么我的 spinner下拉菜单图标颜色一直使用不同的颜色,直到我发现(android:textColorSecondary
)-因此希望也能帮助其他人。