Android NumberPicker:从XML中设置min,max,default

有没有办法从XML布局设置NumberPicker的最小值,最大值和默认值?

我从活动代码中完成:

np = (NumberPicker) findViewById(R.id.np); np.setMaxValue(120); np.setMinValue(0); np.setValue(30); 

XML显然更合适,因为它定义了属性而不是行为。

有没有办法使用XML布局设置这些?

我有同样的问题,这是我如何解决它(根据MKJParekh评论):

  1. 我创build了我自己的NumberPicker-Class

     package com.exaple.project; import android.annotation.TargetApi; import android.content.Context; import android.os.Build; import android.util.AttributeSet; import android.widget.NumberPicker; @TargetApi(Build.VERSION_CODES.HONEYCOMB)//For backward-compability public class MyNumberPicker extends NumberPicker { public MyNumberPicker(Context context) { super(context); } public MyNumberPicker(Context context, AttributeSet attrs) { super(context, attrs); processAttributeSet(attrs); } public MyNumberPicker(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); processAttributeSet(attrs); } private void processAttributeSet(AttributeSet attrs) { //This method reads the parameters given in the xml file and sets the properties according to it this.setMinValue(attrs.getAttributeIntValue(null, "min", 0)); this.setMaxValue(attrs.getAttributeIntValue(null, "max", 0)); } } 
  2. 现在你可以在你的xml布局文件中使用这个NumberPicker

     <com.exaple.project.myNumberPicker android:id="@+id/numberPicker1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:orientation="vertical" max="100" min="1" /> 

感谢MKJParekh的有用评论