首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android- NumberPicker更改了外观

Android- NumberPicker更改了外观
EN

Stack Overflow用户
提问于 2013-09-24 16:38:14
回答 2查看 2.7K关注 0票数 1

在我的应用程序中,我使用NumberPicker来选择number并在我的TextView中显示它。

关于NumberPicker的事情,我有两个问题。首先,怎样才能在image A中拥有一个看起来更像image B的NumberPicker呢?在图B中,这就是我想象中的我的NumberPicker。到目前为止,我所做的是:

我的NumberPicker布局:

代码语言:javascript
复制
        <NumberPicker
            android:id="@+id/numberPicker"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="64dp" />

        <LinearLayout
           ...>
            <Button
                android:id="@+id/btn_set"
                android:text="Set" />

            <Button
                android:id="@+id/btn_cancel"
                android:text="Cancel" />
        </LinearLayout>

然后这是我的活动:

代码语言:javascript
复制
    public void onSomethingButtonClickedToShowDiaolg(View view){
            final Dialog dialog = new Dialog(MyActivity.this);
            dialog.setContentView(R.layout.number_selector);
            Button btnSet = (Button) dialog.findViewById(R.id.btn_price_set);
            Button btnCancel = (Button) dialog.findViewById(R.id.btn_price_cancel);
            final NumberPicker numberPicker = (NumberPicker) dialog.findViewById(R.id.numberPicker);
            String[] values = {"5000", "10000", "15000", "20000"};
            numberPicker.setDisplayedValues(values);

            numberPicker.setWrapSelectorWheel(false);
            numberPicker.setOnValueChangedListener(new OnValueChangeListener() {

                @Override
                public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
                    // TODO Auto-generated method stub
                    System.out.println("set number: : " + newVal);
                }
            });

            btnSet.setOnClickListener(new OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      dialog.dismiss();
                   }    
           });
            btnCancel.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    dialog.dismiss();
                }    
            });

            dialog.show();
        }

然后,我的另一个问题是:我如何在我的NumberPicker中设置某些值,比如...1000,3000,5000,9000?因为如果我使用setMinValuesetMaxValue..我可以有1000,1001,1002...诸若此类。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2013-09-24 17:00:33

引用文档中的内容

  • 如果当前主题派生自Theme,则小部件将当前值显示为一个可编辑的输入字段,上面有一个递增按钮,下面有一个递减按钮。长按按钮可快速更改当前值。轻触输入字段可输入所需的值。如果当前主题派生自Theme_HoloTheme_Holo_Light,则为

小部件将当前值显示为一个可编辑的输入字段,上面的值较小,下面的值较大。轻触较小或较大的值,可通过向上或向下设置数字轴动画来选择该值,以使所选值成为当前值。向上或向下允许当前值的多次递增或递减。长时间按下较小和较大的值也可以快速更改当前值。点击当前值允许键入一个

所需值。

因此,对于图像B,使用Theme.Holo

我还没有尝试过下面的方法。尝试一下并使用Theme.holo

Is it possible to change the increment of NumberPicker when long pressing?

票数 0
EN

Stack Overflow用户

发布于 2013-09-24 17:11:35

你可以参考这个library来定制android中的任何视图/窗口小部件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18976697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档