zoukankan      html  css  js  c++  java
  • 安卓学习第29课——numberPicker

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    <TableRow 
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:layout_width="120dp"
            android:layout_height="wrap_content"
            android:text="选择低价" />
    
        <NumberPicker
            android:id="@+id/np1"
            android:layout_width="wrap_content"
        android:layout_height="80dp"
        android:focusable="true"
        android:focusableInTouchMode="true" />
        
    </TableRow>
    <TableRow >
    
    <TextView
        android:layout_width="120dp"
        android:layout_height="wrap_content"
        android:text="选择高价" />
    
    <NumberPicker
        android:id="@+id/np2"
        android:layout_width="wrap_content"
        android:layout_height="80dp"
        android:focusable="true"
        android:focusableInTouchMode="true" />
    </TableRow>
    
    </TableLayout>

    这里面用到了TableLayout

    package com.example.numberpicker;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.NumberPicker;
    import android.widget.NumberPicker.OnValueChangeListener;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        NumberPicker np1,np2;
        int minPrice=25,maxPrice=75;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            np1=(NumberPicker) findViewById(R.id.np1);
            np1.setMinValue(10);
            np1.setMaxValue(50);
            np1.setValue(minPrice);//设置当前值
            np1.setOnValueChangedListener(new OnValueChangeListener(){
    
                @Override
                public void onValueChange(NumberPicker picker, int oldVal,
                        int newVal) {
                    minPrice=newVal;
                    showSelectedPrice();
                }
                
            });
            np2=(NumberPicker) findViewById(R.id.np2);
            np2.setMinValue(60);
            np2.setMaxValue(100);
            np2.setValue(maxPrice);
            np2.setOnValueChangedListener(new OnValueChangeListener(){
    
                @Override
                public void onValueChange(NumberPicker picker, int oldVal,
                        int newVal) {
                    maxPrice=newVal;
                    showSelectedPrice();
                }});
        }
        private void showSelectedPrice() {
            Toast.makeText(this, "您选择最低价格为:"+minPrice+",最高价格为"+maxPrice,Toast.LENGTH_SHORT).show();
            
        }
    
    }

    记住需要设置最大值、最小值和当前值,还要有对应的事件监听。

  • 相关阅读:
    这是一篇乖巧的草稿——vscode上传代码到代码托管平台GitHub
    性能测试基础及练习
    adb
    前端常用的设计模式
    Vue Router 路由实现原理
    XSS与CSRF区别及防范
    vue中函数的防抖节流
    axios 使用post方式传递参数,后端接受不到
    类数组转换为数组的方法
    深入理解原型,原型链的关系
  • 原文地址:https://www.cnblogs.com/Yvettey-me/p/3969787.html
Copyright © 2011-2022 走看看