是否可以从TimePicker中删除AM / PM按钮?

时间:2010-11-10 17:11:10

标签: android timepicker

我希望使用TimePicker显示 24小时时钟而不是 12小时,而我不需要AM / PM按钮,只需要显示24小时制。

这可能吗?

我使用了setIs24HourView(true),但它无效。

建议我如何显示24小时制?

4 个答案:

答案 0 :(得分:13)

Have you tried setting setIs24HourView?

如果您只需要以其他异常方式使用NumberPicker小部件:

Android中有一个NumberPicker小部件,但它是一个私有API。 This guy pulled out the code,以便您可以将其放入任何项目中。

Here is an example of how I used it for tax rates:

alt text

答案 1 :(得分:6)

我遇到了同样的问题但是通过setIs24HourView调用活动中的onCreate解决了这个问题。

答案 2 :(得分:1)

您必须调用setIs24HourView函数并为此发送true 当时间选择器处于24模式时,AM / PM将消失。

TimePicker tpHourMin = (TimePicker) findViewById(R.id.timePicker);
tpHourMin.setIs24HourView(true);

答案 3 :(得分:0)

您可以覆盖

public void onTimeChanged (TimePicker view, int hourOfDay, int minute) 
method of TimePickerDialog to completely remove AM/PM:

class MyTimePickerDialog extends TimePickerDialog {
    MyTimePickerDialog(Context context, TimePickerDialog.OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView) {
        super(context, callBack, hourOfDay, minute, is24HourView);
    }
@Override
public void onTimeChanged (TimePicker view, int hourOfDay, int minute) {
    // to prevent the dialog from changing the title which by default contains AM/PM
}
}

以下是如何使用它

MyTimePickerDialog dialog = new MyTimePickerDialog(getActivity(), this, hour, minute, 
                        true /*DateFormat.is24HourFormat(getActivity())*/);
dialog.setTitle("Set Time");