如何在 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 添加更多颜色并将其设置为选择器。