数字选择器中的跨文本

时间:2018-11-25 11:16:50

标签: android kotlin numberpicker spanned

我无法在Android中显示仪表 m 2 。我可以将SpannedBuilderString用于TextView中的setText,它可以工作。

问题是我想在数字选择器中显示 m 2 ,例如50 m 2 100 m 2 但数字选择器仅显示字符串,而我却不显示。请帮我解决这个问题。谢谢大家。

2 个答案:

答案 0 :(得分:2)

使用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);

答案 1 :(得分:1)

将此自定义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);