Android 在NumberPicker中显示更多数字
我有两个问题,第一个是移除NumberPicker中的分隔符,我在Android中扩展NumberPicker来解决这个问题,如下所示:Android 在NumberPicker中显示更多数字,android,numberpicker,android-number-picker,Android,Numberpicker,Android Number Picker,我有两个问题,第一个是移除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
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();
}
}
}
导入android.content.Context;
导入android.content.res.Resources;
导入android.util.AttributeSet;
导入android.widget.NumberPicker;
导入java.lang.reflect.Field;
公共类ExtendedNumberPicker扩展了NumberPicker{
公共扩展NumberPicker(上下文上下文、属性集属性){
超级(上下文,attrs);
类别编号pickerclass=null;
试一试{
numberPickerClass=Class.forName(“android.widget.NumberPicker”);
}catch(classnotfounde异常){
e、 printStackTrace();
}
字段selectionDivider=null;
试一试{
selectionDivider=numberPickerClass.getDeclaredField(“mSelectionDivider”);
}捕获(无此字段例外){
e、 printStackTrace();
}
试一试{
selectionDivider.setAccessible(true);
selectionDivider.set(此为空);
}捕获(IllegalArgumentException e){
e、 printStackTrace();
}catch(Resources.notfounde异常){
e、 printStackTrace();
}捕获(非法访问例外e){
e、 printStackTrace();
}
}
}
我的另一个问题是,我没有找到任何方法来显示超过3个元素,如以下UI:
设置移除分隔线
<NumberPicker
...
android:theme="@style/DefaultNumberPickerTheme" />
style.xml
<style name="DefaultNumberPickerTheme" parent="AppTheme">
<item name="colorControlNormal">@color/transparent</item>
</style>
@彩色/透明
对于另一部分:签出此
希望这有帮助