0

我正在制作一个自定义号码选择器。我希望选定值的颜色与非选定值不同。

下面是我的 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>

在此处输入图像描述

4

1 回答 1

1

我在 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);
    }
}

结果

您可以为您的 colors.xml 添加更多颜色并将其设置为选择器。

于 2020-08-25T13:30:42.217 回答