Spanned text in Number picker

给你一囗甜甜゛ 提交于 2019-11-30 09:40:30

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!