我 在 android中显示仪表m 2时遇到问题。我可以在 TextView 中为 setText 使用 SpannedBuilderString 并且它可以工作。
问题是我想在 Number Picker 中显示m 2,例如 50 m 2 100 m 2但 Number Picker 只显示 String 而我不能。请帮我解决这个问题。谢谢大家。
我 在 android中显示仪表m 2时遇到问题。我可以在 TextView 中为 setText 使用 SpannedBuilderString 并且它可以工作。
问题是我想在 Number Picker 中显示m 2,例如 50 m 2 100 m 2但 Number Picker 只显示 String 而我不能。请帮我解决这个问题。谢谢大家。
使用 Unicode 字符非常容易:
首先使用您的值创建一个数组(这将转到数字选择器)
String mValues[] = { "100 " + "\u33A1", "200 " + "\u33A1" };
现在使用此方法创建具有自定义值的数字选择器:
private void setNubmerPicker(NumberPicker nubmerPicker,String [] numbers ){
nubmerPicker.setMaxValue(numbers.length-1);
nubmerPicker.setMinValue(0);
nubmerPicker.setWrapSelectorWheel(true);
nubmerPicker.setDisplayedValues(numbers);
}
最后一步调用这个方法:
setNubmerPicker(yourNumberPicker,mValues);
将此自定义Formatter
应用于您的NumberPicker
:
NumberPicker.Formatter formatter = new NumberPicker.Formatter(){
@Override
public String format(int i) {
return String.valueOf(i) + " " + Character.toString((char) 0x33A1);
}
};
numberPicker.setFormatter(formatter);