如何更改微调器背景颜色?
How can I change spinner background color?
如何更改微调器背景颜色?
这种黑色来自风格 .
如何更改微调器弹出窗口的样式颜色?
我想将背景颜色更改为白色以代替黑色。我该如何改变?
旋转器
<Spinner
android:id="@+id/spinner"
android:layout_width="100dp"
android:layout_marginTop="1dp"
android:layout_height="wrap_content"
android:background="@drawable/spinner_bg"
android:layout_marginLeft="1dp"/>
spinnerbg.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="@color/InputBg1" />
</item>
<item android:gravity="center_vertical|right" android:right="8dp">
<layer-list>
<item android:width="12dp" android:height="12dp" android:background="#fff" android:gravity="center" android:bottom="10dp">
<rotate
android:fromDegrees="45"
android:toDegrees="45">
<shape android:shape="rectangle">
<solid android:color="#ffffff" />
<stroke android:color="#ffffff" android:width="1dp"/>
</shape>
</rotate>
</item>
<item android:width="20dp" android:height="10dp" android:bottom="21dp" android:background="#fff" android:gravity="center">
<shape android:shape="rectangle">
<solid android:color="@color/InputBg1"/>
</shape>
</item>
</layer-list>
</item>
</layer-list>
您可以像这样在 xml 中设置微调器的背景颜色:
android:background="YOUR_HEX_COLOR_CODE"
如果您将下拉菜单与微调器一起使用,您可以像这样设置它的背景颜色:
android:popupBackground="YOUR_HEX_COLOR_CODE"
更改文本颜色 我推荐使用自定义文本布局
为该文件中的文本指定您自定义的颜色和大小。
spinner_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="20sp"
android:gravity="left"
android:textColor="YOUR_HEX_COLOR_CODE"
android:padding="5dip"
/>
现在使用此文件显示您的微调器项目,例如:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list);
您不需要设置下拉资源。只需 spinner_item.xml
即可在微调器中显示您的项目。
试试这个..更改 res/values/styles.xml::-
中的样式
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:spinnerDropDownItemStyle">@style/mySpinnerItemStyle</item>
</style>
<style name="mySpinnerItemStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
<item name="android:textColor">@android:color/white</item>
</style>
试试下面的代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="#FFAA00"/>
</shape>
</item>
<item
android:state_selected="true">
<shape android:shape="rectangle">
<solid android:color="#FFAA00"/>
</shape>
</item>
</selector>
这是你的微调器
<Spinner
android:id="@+id/sp_data"
android:background="@drawable/mybg"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:textColor="#0000FF"/>
快乐编码..!!
在文件夹 res/values/styles 中创建这样的样式。xml
<style name="spinnerItemStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
<item name="android:textColor">Put text color code here</item>
<item name="android:background">Put background color code here</item>
</style>
应用到您的微调器
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinnerItemStyle"/>
自定义微调器需要做一些事情,如下所示:-
spinner_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="@color/InputBg1" />
</item>
<item android:gravity="center_vertical|right" android:right="8dp">
<layer-list>
<item android:width="12dp" android:height="12dp" android:gravity="center" android:bottom="10dp">
<rotate
android:fromDegrees="45"
android:toDegrees="45">
<shape android:shape="rectangle">
<solid android:color="#ffffff" />
<stroke android:color="#ffffff" android:width="1dp"/>
</shape>
</rotate>
</item>
<item android:width="20dp" android:height="10dp" android:bottom="21dp" android:gravity="center">
<shape android:shape="rectangle">
<solid android:color="@color/InputBg1"/>
</shape>
</item>
</layer-list>
</item>
</layer-list>
spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/spinnerItemStyle"
android:maxLines="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:ellipsize="marquee"
android:textAlignment="inherit"/>
spinner_dropdown_item.xml
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/spinnerItemStyle"
android:maxLines="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:ellipsize="marquee"/>
旋转器
<Spinner
android:id="@+id/spinner"
android:layout_width="100dp"
android:popupBackground="#ffffff"
android:layout_marginBottom="1dp"
android:layout_height="wrap_content"
android:textColor="#ffff"
style="@style/spinnerItemStyle"
android:background="@drawable/spinner_bg"
android:layout_marginLeft="1dp" />
style.xml
<style name="spinnerItemStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
<item name="android:textColor">#000000</item>
</style>
正在为微调器创建适配器
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.spinner_item, categories);
// Drop down layout style - list view with radio button
dataAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
在您的 styles.xml 中添加以下内容以更改下拉菜单的背景颜色和文本颜色。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Spinner style -->
<item name="android:spinnerStyle">@style/AppTheme.spinnerStyle</item>
<!-- Spinner dropdown style-->
<item name="android:spinnerDropDownItemStyle">@style/AppTheme.spinnerDropDownItemStyle</item>
</style>
<style name="AppTheme.spinnerStyle" parent="@android:style/Widget.Material.Light.Spinner">
<item name="android:textColor">@android:color/white</item>
<item name="android:background">@color/colorPrimary</item>
</style>
<style name="AppTheme.spinnerDropDownItemStyle" parent="@android:style/Widget.Material.DropDownItem.Spinner">
<item name="android:textColor">@android:color/white</item>
<item name="android:background">@color/colorPrimary</item>
</style>
在您的 AndroidManifest.xml 中添加主题。 (查看android:theme
的值)
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
您只需在 <Spinner/>
中添加以下代码即可更改弹出窗口背景。
android:popupBackground="COLOR_CODE"
现在的代码应该如下所示,
<Spinner
android:id="@+id/spinner"
android:layout_width="100dp"
android:layout_marginTop="1dp"
android:layout_height="wrap_content"
android:background="@drawable/spinner_bg"
android:layout_marginLeft="1dp"
android:popupBackground="COLOR_CODE"
/>
要在整个应用程序中更改 Spinner
项背景,加载项 styles.xml
<resources>
<style name"AppTheme" patent="...">
<item name="android:spinnerStyle">@style/Widget.AppTheme.Spinner</item>
</style>
<style name="Widget.AppTheme.Spinner" parent="Widget.AppCompat.Spinner">
<!-- color is change form here -->
<item name="android:popupBackground">#FFFFFF</item>
</style>
</resources>
要更改下拉列表的背景颜色,请将 android:colorBackground
参数添加到 styles.xml
中的主题
代码:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:colorBackground">#ff0000</item>
</style>
因此,整体风格得以保留:按下时的效果、圆角等
截图:
您可以将微调器包裹在相对布局中,并将背景可绘制对象添加到相对布局中 layout.Code 如下所示。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/borderbottom_white"<!-- white background with
bottom border -->
android:layout_marginTop="15dp" >
<Spinner
android:id="@+id/postfield_category"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="16sp"
android:background="@null"
android:minHeight="0dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/arrowspinner" />
</RelativeLayout>
如何更改微调器背景颜色?
这种黑色来自风格 .
如何更改微调器弹出窗口的样式颜色?
我想将背景颜色更改为白色以代替黑色。我该如何改变?
旋转器
<Spinner
android:id="@+id/spinner"
android:layout_width="100dp"
android:layout_marginTop="1dp"
android:layout_height="wrap_content"
android:background="@drawable/spinner_bg"
android:layout_marginLeft="1dp"/>
spinnerbg.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="@color/InputBg1" />
</item>
<item android:gravity="center_vertical|right" android:right="8dp">
<layer-list>
<item android:width="12dp" android:height="12dp" android:background="#fff" android:gravity="center" android:bottom="10dp">
<rotate
android:fromDegrees="45"
android:toDegrees="45">
<shape android:shape="rectangle">
<solid android:color="#ffffff" />
<stroke android:color="#ffffff" android:width="1dp"/>
</shape>
</rotate>
</item>
<item android:width="20dp" android:height="10dp" android:bottom="21dp" android:background="#fff" android:gravity="center">
<shape android:shape="rectangle">
<solid android:color="@color/InputBg1"/>
</shape>
</item>
</layer-list>
</item>
</layer-list>
您可以像这样在 xml 中设置微调器的背景颜色:
android:background="YOUR_HEX_COLOR_CODE"
如果您将下拉菜单与微调器一起使用,您可以像这样设置它的背景颜色:
android:popupBackground="YOUR_HEX_COLOR_CODE"
更改文本颜色 我推荐使用自定义文本布局
为该文件中的文本指定您自定义的颜色和大小。
spinner_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="20sp"
android:gravity="left"
android:textColor="YOUR_HEX_COLOR_CODE"
android:padding="5dip"
/>
现在使用此文件显示您的微调器项目,例如:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner_item,list);
您不需要设置下拉资源。只需 spinner_item.xml
即可在微调器中显示您的项目。
试试这个..更改 res/values/styles.xml::-
中的样式<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:spinnerDropDownItemStyle">@style/mySpinnerItemStyle</item>
</style>
<style name="mySpinnerItemStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
<item name="android:textColor">@android:color/white</item>
</style>
试试下面的代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="#FFAA00"/>
</shape>
</item>
<item
android:state_selected="true">
<shape android:shape="rectangle">
<solid android:color="#FFAA00"/>
</shape>
</item>
</selector>
这是你的微调器
<Spinner
android:id="@+id/sp_data"
android:background="@drawable/mybg"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:textColor="#0000FF"/>
快乐编码..!!
在文件夹 res/values/styles 中创建这样的样式。xml
<style name="spinnerItemStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
<item name="android:textColor">Put text color code here</item>
<item name="android:background">Put background color code here</item>
</style>
应用到您的微调器
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/spinnerItemStyle"/>
自定义微调器需要做一些事情,如下所示:-
spinner_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<color android:color="@color/InputBg1" />
</item>
<item android:gravity="center_vertical|right" android:right="8dp">
<layer-list>
<item android:width="12dp" android:height="12dp" android:gravity="center" android:bottom="10dp">
<rotate
android:fromDegrees="45"
android:toDegrees="45">
<shape android:shape="rectangle">
<solid android:color="#ffffff" />
<stroke android:color="#ffffff" android:width="1dp"/>
</shape>
</rotate>
</item>
<item android:width="20dp" android:height="10dp" android:bottom="21dp" android:gravity="center">
<shape android:shape="rectangle">
<solid android:color="@color/InputBg1"/>
</shape>
</item>
</layer-list>
</item>
</layer-list>
spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/spinnerItemStyle"
android:maxLines="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:ellipsize="marquee"
android:textAlignment="inherit"/>
spinner_dropdown_item.xml
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="@style/spinnerItemStyle"
android:maxLines="1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:ellipsize="marquee"/>
旋转器
<Spinner
android:id="@+id/spinner"
android:layout_width="100dp"
android:popupBackground="#ffffff"
android:layout_marginBottom="1dp"
android:layout_height="wrap_content"
android:textColor="#ffff"
style="@style/spinnerItemStyle"
android:background="@drawable/spinner_bg"
android:layout_marginLeft="1dp" />
style.xml
<style name="spinnerItemStyle" parent="@android:style/Widget.Holo.DropDownItem.Spinner">
<item name="android:textColor">#000000</item>
</style>
正在为微调器创建适配器
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, R.layout.spinner_item, categories);
// Drop down layout style - list view with radio button
dataAdapter.setDropDownViewResource(R.layout.spinner_dropdown_item);
在您的 styles.xml 中添加以下内容以更改下拉菜单的背景颜色和文本颜色。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Spinner style -->
<item name="android:spinnerStyle">@style/AppTheme.spinnerStyle</item>
<!-- Spinner dropdown style-->
<item name="android:spinnerDropDownItemStyle">@style/AppTheme.spinnerDropDownItemStyle</item>
</style>
<style name="AppTheme.spinnerStyle" parent="@android:style/Widget.Material.Light.Spinner">
<item name="android:textColor">@android:color/white</item>
<item name="android:background">@color/colorPrimary</item>
</style>
<style name="AppTheme.spinnerDropDownItemStyle" parent="@android:style/Widget.Material.DropDownItem.Spinner">
<item name="android:textColor">@android:color/white</item>
<item name="android:background">@color/colorPrimary</item>
</style>
在您的 AndroidManifest.xml 中添加主题。 (查看android:theme
的值)
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
您只需在 <Spinner/>
中添加以下代码即可更改弹出窗口背景。
android:popupBackground="COLOR_CODE"
现在的代码应该如下所示,
<Spinner
android:id="@+id/spinner"
android:layout_width="100dp"
android:layout_marginTop="1dp"
android:layout_height="wrap_content"
android:background="@drawable/spinner_bg"
android:layout_marginLeft="1dp"
android:popupBackground="COLOR_CODE"
/>
要在整个应用程序中更改 Spinner
项背景,加载项 styles.xml
<resources>
<style name"AppTheme" patent="...">
<item name="android:spinnerStyle">@style/Widget.AppTheme.Spinner</item>
</style>
<style name="Widget.AppTheme.Spinner" parent="Widget.AppCompat.Spinner">
<!-- color is change form here -->
<item name="android:popupBackground">#FFFFFF</item>
</style>
</resources>
要更改下拉列表的背景颜色,请将 android:colorBackground
参数添加到 styles.xml
代码:
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:colorBackground">#ff0000</item>
</style>
因此,整体风格得以保留:按下时的效果、圆角等
截图:
您可以将微调器包裹在相对布局中,并将背景可绘制对象添加到相对布局中 layout.Code 如下所示。
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/borderbottom_white"<!-- white background with
bottom border -->
android:layout_marginTop="15dp" >
<Spinner
android:id="@+id/postfield_category"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="16sp"
android:background="@null"
android:minHeight="0dp" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/arrowspinner" />
</RelativeLayout>