我有两个问题,第一个是删除NumberPicker中的分隔符,我在Android中扩展NumberPicker以解决此问题,如下所示:
import android.content.Context;
import android.content.res.Resources;
import android.util.AttributeSet;
import android.widget.NumberPicker;
import java.lang.reflect.Field;
public class ExtendedNumberPicker extends NumberPicker {
public ExtendedNumberPicker(Context context, AttributeSet attrs) {
super(context, attrs);
Class<?> numberPickerClass = null;
try {
numberPickerClass = Class.forName("android.widget.NumberPicker");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Field selectionDivider = null;
try {
selectionDivider = numberPickerClass.getDeclaredField("mSelectionDivider");
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
try {
selectionDivider.setAccessible(true);
selectionDivider.set(this, null);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (Resources.NotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
我的另一个问题是我没有找到任何方法来显示超过3个元素,如下面的UI:
答案 0 :(得分:0)
设置删除分隔线
<NumberPicker
...
android:theme="@style/DefaultNumberPickerTheme" />
style.xml
<style name="DefaultNumberPickerTheme" parent="AppTheme">
<item name="colorControlNormal">@color/transparent</item>
</style>
另一部分:查看此question
希望这有帮助!
答案 1 :(得分:0)
对于问题的第二部分,请查看my answer here,您将发现显示三个以上元素的简便方法。