如何制作适合其他视图的自定义Android字符串选择器?

gon*_*ins 5 string android picker android-view

我一直在研究这里描述的Android Pickers .

有时间,日期和数字字段的选择器,但令我惊讶的是,我发现基本字符串没有通用的选择器.

我找到了几个资源,讨论如何重新NumberPicker使用字符串,如下所示:

用于任意字符串的Android选择器小部件

https://github.com/hotchemi/StringPicker/blob/master/library/src/main/java/hotchemi/stringpicker/StringPicker.java

这看起来很有希望,但我的最终目标是让我的字符串选择器适合我的主视图中的面板而不是弹出视图.我需要这样做,因为我的视图的顶部有一个对象,它已根据选择器中选择的内容进行修改,因此需要实时显示以显示给定属性的不同值如何影响其外观.

有没有办法做到这一点?

Raj*_*ami 9

你只需要使用NumberPicker没有任何库你可以实现它我也遇到了同样的问题,我找到了解决方案.我这样用过NumberPicker,效果很好.

在picker_layout中添加数字选择器并在主布局上显示动画上的布局.

在你的课堂上使用它......

<NumberPicker
     android:id="@+id/numberPicker1"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical" /> 
Run Code Online (Sandbox Code Playgroud)


numberPicker1= (NumberPicker) findViewById(R.id.numberPicker1);
final String genders[] = { "unassessed", "Skipped", "Incorrect", "Correct", "1 mark" };

numberPicker1.setMinValue(0);
numberPicker1.setMaxValue(genders.length - 1);
numberPicker1.setDisplayedValues(genders);
numberPicker1.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);

NumberPicker.OnValueChangeListener myValChangedListener = new NumberPicker.OnValueChangeListener() {
 @Override
 public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
     btnBar.setText("Value: " + genders[newVal]);
 }
};

numberPicker1.setOnValueChangedListener(myValChangedListener);
Run Code Online (Sandbox Code Playgroud)