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评论):
-
我创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)); } }
-
现在你可以在你的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的有用评论
- Bootstrap,Angular.js和Ember.js中使用的数据属性选项是否与Unobtrusive Javascript原则相冲突?
- .NET 4.5 WebSockets vs SignalR
- 为什么UIViewController在UINavigationBar下扩展,而UITableViewController没有?
- 是否有可能使用Bootstrap创build一个pinterest般的布局?
- 在FrameLayout中的Android中心视图不起作用
- 如何获得一个button的高度来匹配另一个元素的高度?
- ImageView填充父宽度或高度,但保持宽高比
- 如何将SVG放在div中?
- 获取android.content.res.Resources $ NotFoundException:即使资源存在于android中也是exception
- iOS 8 UIPageViewController在转换后应用约束
- 垂直内容在Android EditText中alignment