问题
I have a problem with to show meter m2 in android. I can use SpannedBuilderString for setText in TextView and it work.
The problem is I want to show m2 in Number Picker like 50 m2 100 m2 but Number Picker only show String and I can't. Please help me fix that. Tks everyone.
回答1:
Using Unicode Character makes it very easy :
First create an array with your values(this will go to the number picker)
String mValues[] = { "100 " + "\u33A1", "200 " + "\u33A1" };
Now use this method to create number picker with custom values:
private void setNubmerPicker(NumberPicker nubmerPicker,String [] numbers ){
nubmerPicker.setMaxValue(numbers.length-1);
nubmerPicker.setMinValue(0);
nubmerPicker.setWrapSelectorWheel(true);
nubmerPicker.setDisplayedValues(numbers);
}
And for the final step call this method:
setNubmerPicker(yourNumberPicker,mValues);
回答2:
Apply this custom Formatter
to your NumberPicker
:
NumberPicker.Formatter formatter = new NumberPicker.Formatter(){
@Override
public String format(int i) {
return String.valueOf(i) + " " + Character.toString((char) 0x33A1);
}
};
numberPicker.setFormatter(formatter);
来源:https://stackoverflow.com/questions/53466905/spanned-text-in-number-picker