数字选择器中的跨文本
Spanned text in Number picker
我在 android 中显示仪表 m2 时遇到问题。我可以在 TextView 中将 SpannedBuilderString 用于 setText 并且它有效。
问题是我想在数字选择器中显示 m2 50 m2 100 m2 但是 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);
我在 android 中显示仪表 m2 时遇到问题。我可以在 TextView 中将 SpannedBuilderString 用于 setText 并且它有效。
问题是我想在数字选择器中显示 m2 50 m2 100 m2 但是 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);