如何在片段中设置datePickerMode? [英] how to set datePickerMode in a fragment?

查看:458
本文介绍了如何在片段中设置datePickerMode?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在android代码中,我使用DatePickerDialog选择日期.它在android材质设计和以前的版本中的行为不同.那么如何设置修复此问题以使材质设计与java代码中的行为相同?

In the android code ,I use a DatePickerDialog to choose the date.it behaves differently in android material design and the previous versions.So how can I set fix this question to let material design behaves the same as before in java code ?

推荐答案

在Lollipop设备中的DatePickerDialog中更改DatePicker模式

Change DatePicker Mode in DatePickerDialog in Lollipop devices

尝试一下,

values-v21

<style name="style_date_picker_dialog" parent="Theme.AppCompat.Light.Dialog">
        <item name="android:datePickerStyle">@style/style_date_picker</item>
    </style>

    <style name="style_date_picker" parent="android:Widget.Material.Light.DatePicker">
        <item name="android:datePickerMode">spinner</item>
    </style>

以及您的活动

public class MainActivity extends AppCompatActivity {

    private Button button;
    private DatePickerDialog mDatePickerDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                    mDatePickerDialog = new DatePickerDialog(MainActivity.this, R.style.style_date_picker_dialog, dateSetListener, 2015, 10, 16);
                } else {
                    mDatePickerDialog = new DatePickerDialog(MainActivity.this, dateSetListener, 2015, 10, 16);
                }
                mDatePickerDialog.setTitle("Select Date");
                mDatePickerDialog.show();

            }
        });


    }

    private DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
            mDatePickerDialog.dismiss();
        }
    };

}

希望对您有帮助.

这篇关于如何在片段中设置datePickerMode?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆