带有字符串和分隔线的数字选择器

Numberpicker with String and breaklines

带字符串和分隔线的数字选择器正是我所需要的! 发现论坛在 Numberpicker 组件中使用字符串。但是必须为了更好的观看而制作断线是可能的吗? 此组件可以从布局、样式等方面进行何种程度的定制?

    private NumberPicker np;

    np = (NumberPicker) view
                    .findViewById(R.id.np);
    np.setOnClickListener(this);
    np.setAddStatesFromChildren(false);

getStringForNp();//populate np with String array

    setNumberPickerTextColor(np, getActivity().getResources().getColor(R.color.white));

    private boolean setNumberPickerTextColor(NumberPicker numberPicker, int color)
        {
            final int count = numberPicker.getChildCount();
            for(int i = 0; i < count; i++){
                View child = numberPicker.getChildAt(i);
                if(child instanceof EditText){
                    try{
                        Field selectorWheelPaintField = numberPicker.getClass()
                            .getDeclaredField("mSelectorWheelPaint");
                        selectorWheelPaintField.setAccessible(true);
                        ((Paint)selectorWheelPaintField.get(numberPicker)).setColor(color);
                        ((EditText)child).setTextColor(color);

//***********************************
                       //Attempts in vain 
//***********************************

    //                  String replace = ((EditText)child).getText().toString().replace("\n"," ");
    //                  ((EditText)child).setText(replace);

                        ((EditText)child).setSingleLine(false);
    //                  ((EditText)child).setHorizontallyScrolling(false);
                        ((EditText)child).setEllipsize(TextUtils.TruncateAt.END);
                        ((EditText)child).setMaxLines(2);
    //                  ((EditText)child).setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
                        TableRow.LayoutParams params = new TableRow.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT,1.0f);

                        ((EditText)child).setInputType(InputType.TYPE_CLASS_TEXT);
                        ((EditText)child).setLayoutParams(params);

                        numberPicker.invalidate();
                        return true;
                    }
                    catch(NoSuchFieldException e){
                        Log.w("setNumberPickerTextColor", e);
                    }
                    catch(IllegalAccessException e){
                        Log.w("setNumberPickerTextColor", e);
                    }
                    catch(IllegalArgumentException e){
                        Log.w("setNumberPickerTextColor", e);
                    }
                }
            }
            return false;
        }

有人能帮帮我吗? 我需要做一个换行符,这是一个例子,它是如何成为文本没有中断的组件的。

lib 允许您使用最多 1 个换行符的字符串。