您的位置:首页 > 移动开发 > Android开发

【Android开发】控件篇(一):TimePicker & NumberPicker

2016-01-28 14:02 816 查看
将一些控件的使用经验分享给大家,仅供大家参考。

★ 在xml文件中进行布局

[code] <TimePicker   
        android:id="@+id/timePic1" 
        android:layout_height="wrap_content"  
        android:layout_width="match_parent"
        android:layout_gravity="center"/>


[code] <NumberPicker
      android:id="@+id/hourpicker"
      android:layout_width="63dp"
      android:layout_height="wrap_content"
      android:layout_marginRight="4dp" />


【说明】:上面的写法很简单,但是需要注意的一点是使用这两个控件要求的Android SDK的最低版本是11,所以在项目中的AndroidManifest.xml中要修改以下标签:

[code]<uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="17" />


外观是这个样子的:


        



【说明】:一不小心它的外观就会发生变化,这和你使用的Activity的主题有关。Style必须使用AppTheme,如果使用Theme.Light.NoTitleBar,这两种控件就会变成黑色风格。但是使用AppTheme,Activity就会有TitleBar,为了去掉TitleBar,可以在Activity的Oncreate方法中加如下代码:

[code]    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //这三句话的顺序不要变
        //1、
        super.onCreate(savedInstanceState);
        //2、
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        //3、
        setContentView(R.layout.activity_set_temperature_add_temp);

    }


★ 代码中对控件进行初始化设置

[code]
         timePicker=(TimePicker)findViewById(R.id.timePic1);
        //禁止弹出软键盘
        timePicker.setDescendantFocusability(TimePicker.FOCUS_BLOCK_DESCENDANTS);
        //是否使用24小时制  
        timePicker.setIs24HourView(true);


[code]        firstPicker=(NumberPicker) findViewById(R.id.hourpicker);
        secondPicker=(NumberPicker) findViewById(R.id.minuteicker);
        firstPicker.setMaxValue(24);
        firstPicker.setMinValue(14);
        firstPicker.setValue(14);
        secondPicker.setMaxValue(9);
        secondPicker.setMinValue(0);
        secondPicker.setValue(0);
        //禁止弹出软键盘
        firstPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
        secondPicker.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);


[code]        //获得当前值 
        timePicker.getCurrentHour();
        timePicker.getCurrentMinute();


[code]        firstPicker.getValue();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: