如何制作适合另一个视图的自定义 Android 字符串选择器?
Posted
技术标签:
【中文标题】如何制作适合另一个视图的自定义 Android 字符串选择器?【英文标题】:How to make custom Android string Picker that fits inside another view? 【发布时间】:2015-10-30 17:50:33 【问题描述】:我一直在研究 android 选择器,如 here 所述。
有时间、日期和数字字段的选择器,但令我惊讶的是,我发现基本字符串没有通用选择器。
我找到了一些资源,讨论如何将 NumberPicker
重新用于使用字符串,如下所示:
Android picker widget for arbitrary strings
和
https://github.com/hotchemi/StringPicker/blob/master/library/src/main/java/hotchemi/stringpicker/StringPicker.java
这些看起来很有希望,但我的最终目标是让我的字符串选择器适合我的主视图的面板,而不是弹出视图。我需要这样做,因为我的视图顶部有一个对象,该对象已根据选择器中选择的内容进行了修改,因此需要实时显示以显示给定属性的不同值将如何影响其外观。
有什么办法吗?
【问题讨论】:
【参考方案1】:你只需要使用NumberPicker
没有任何库就可以实现它
我也有同样的问题,我找到了解决方案。我像这样使用NumberPicker
,效果很好。
在 picker_layout 添加数字选择器并在主布局上的动画上显示该布局。
在你的课堂上使用它......
<NumberPicker
android:id="@+id/numberPicker1"
android:layout_
android:layout_
android:orientation="vertical" />
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);
【讨论】:
以上是关于如何制作适合另一个视图的自定义 Android 字符串选择器?的主要内容,如果未能解决你的问题,请参考以下文章