gpt4 book ai didi

Android NumberPicker 最大 : Set min,,默认来自 XML

转载 作者:IT王子 更新时间:2023-10-28 23:40:34 29 4
gpt4 key购买 nike

有没有办法设置NumberPicker 的最小值、最大值和默认值?来自 XML 布局?

我是在 Activity 代码中做的:

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

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

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

最佳答案

我遇到了同样的问题,我就是这样解决的(根据 MKJParekh 的评论):

  1. 我创建了自己的 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 的有用评论

关于Android NumberPicker 最大 : Set min,,默认来自 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317960/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com