问题描述
我正在制作自定义号码选择器。我希望选定值的颜色与未选定值的颜色不同。
下面是我的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);
}
}
您可以在colors.xml中添加更多颜色并将其设置为选择器。