Android 自定义 spinner (背景、字体颜色)

本文介绍如何在Android应用中自定义Spinner组件的外观,包括设置不同的背景样式和字体颜色。通过XML定义选择器和样式,结合Java代码实现下拉列表项的个性化定制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、准备两张图片,并做好9.png

2、在drawable中定义 spinner_selector.xml
<?xml version="1.0"encoding="utf-8"?>
<selectorxmlns:android=" http://schemas.android.com/apk/res/android">
    <itemandroid:state_pressed="true"  
       android:drawable="@drawable/spinner_press"/><!--按下时效果--> 
    <itemandroid:state_pressed="false"  
       android:drawable="@drawable/spinner"/><!--默认效果-->  
</selector>

3、style中定义
    <!--spinner -->
    <stylename=" spinner_style">
    <itemname="android:background"> @drawable/spinner_selector</item>
    <itemname="android:paddingLeft">5dip</item>
   </style>


4、调用
<Spinner
   android:id="@+id/field_item_spinner_content"
    style=" @style/spinner_style"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:animationCache="true"
   android:drawSelectorOnTop="true" />


5、在layout中定义 simple_spinner_item.xml
<?xml version="1.0"encoding="utf-8"?>
<CheckedTextViewxmlns:android=" http://schemas.android.com/apk/res/android
   android:id="@android:id/text1"
   android:paddingLeft="5dip"
   android:paddingRight="5dip"
   android:gravity="center_vertical"
   android:textColor="#808080"
   android:singleLine="true"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
    />


6、java代码
ArrayAdapter<String> adapter =new ArrayAdapter<String>(mContext, R.layout.simple_spinner_item);
String level[] =getResources().getStringArray(R.array.affair_level);//资源文件
for (int i = 0; i < level.length; i++) {
adapter.add(level[i]);
}
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

效果图
   自定义 spinner (背景、字体颜色)" title="Android 自定义 spinner (背景、字体颜色)">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值