如何在 android studio 中为数字选择器的选定值和未选定值设置不同的颜色?
How to have different color for selected and non-selected value of a number picker in android studio?
我正在制作自定义号码选择器。我希望选定值的颜色与非选定值的颜色不同。
下面是我的XML:
<style name="NumberPickerTheme" parent="Theme.AppCompat.Light">
<item name="colorAccent">@android:color/white</item>
<!-- Divider Removal. -->
<item name="colorControlNormal">@android:color/transparent</item>
<item name="android:textColorPrimary">@color/colorAccent</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:textSize">40sp</item>
</style>
我在 NumberPicker 上尝试了很多方法,但它总是显示一种颜色。但是您可以使用 WheelPicker 而不是 NumberPicker 并选择了颜色更改选项。
将此添加到您的依赖项
implementation'com.super_rabbit.wheel_picker:NumberPicker:1.0.1'
这是我选择的颜色更改代码
public class MainActivity extends AppCompatActivity {
WheelPicker numberPicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numberPicker = findViewById(R.id.numberPicker);
numberPicker.setMin(0);
numberPicker.setMax(20);
numberPicker.setSelectedTextColor(R.color.colorAccent);//Selected color set
numberPicker.setSelectorRoundedWrapPreferred(true);
}
}
result
您可以为 colors.xml 添加更多颜色并将其设置为选择器。
我正在制作自定义号码选择器。我希望选定值的颜色与非选定值的颜色不同。
下面是我的XML:
<style name="NumberPickerTheme" parent="Theme.AppCompat.Light">
<item name="colorAccent">@android:color/white</item>
<!-- Divider Removal. -->
<item name="colorControlNormal">@android:color/transparent</item>
<item name="android:textColorPrimary">@color/colorAccent</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:textSize">40sp</item>
</style>
我在 NumberPicker 上尝试了很多方法,但它总是显示一种颜色。但是您可以使用 WheelPicker 而不是 NumberPicker 并选择了颜色更改选项。
将此添加到您的依赖项
implementation'com.super_rabbit.wheel_picker:NumberPicker:1.0.1'
这是我选择的颜色更改代码
public class MainActivity extends AppCompatActivity {
WheelPicker numberPicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numberPicker = findViewById(R.id.numberPicker);
numberPicker.setMin(0);
numberPicker.setMax(20);
numberPicker.setSelectedTextColor(R.color.colorAccent);//Selected color set
numberPicker.setSelectorRoundedWrapPreferred(true);
}
}
result
您可以为 colors.xml 添加更多颜色并将其设置为选择器。