我的TimePickerDialog有问题.首先检测用户的设备是否有12或24小时格式的时间:
…
String format;
…
if (DateFormat.is24HourFormat(this)) {
Log.i("control","Format 24");
format=("24");
} else {
Log.i("control","Format 12");
format=("12");
}
…
Run Code Online (Sandbox Code Playgroud)
现在我打算使用am或pm选项显示TimePicker,具体取决于格式:
…
if(format.equals("24"){
view.setIs24HourView(true);
} else {
view.setIs24HourView(true);
} …
Run Code Online (Sandbox Code Playgroud)
这是完整的代码TimePickerDialog:
public class AlarmPreferencesActivity extends ListActivity
…
TimePickerDialog timePickerDialog = new TimePickerDialogs(this, new TimePickerDialog.OnTimeSetListener(){
@Override
public void onTimeSet(TimePicker view, int hours, int minutes) {
Calendar newAlarmTime = Calendar.getInstance();
newAlarmTime.set(Calendar.HOUR_OF_DAY, hours);
newAlarmTime.set(Calendar.MINUTE, minutes);
newAlarmTime.set(Calendar.SECOND, 0);
alarm.setAlarmTime(newAlarmTime);
alarmPreferenceListAdapter
.setMathAlarm(getMathAlarm());
alarmPreferenceListAdapter
.notifyDataSetChanged();
}},
alarm.getAlarmTime().get(Calendar.HOUR_OF_DAY),
alarm.getAlarmTime().get(Calendar.MINUTE), true);
timePickerDialog.setCancelable(true);
timePickerDialog.setCustomTitle(getLayoutInflater().inflate(R.layout.custom_hours, null));
timePickerDialog.show();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我不知道在哪里包括view.setIs24HourView (true) …
我做了一个自定义DialogPreference,它使用两个NumberPicker小部件,允许用户选择一天中的一小时以及另一个DialogPreference允许用户使用TimePicker小部件选择时间的自定义.
只要对话框未打开并且我旋转屏幕,一切都按预期工作.但是,如果对话框打开并且屏幕旋转,则整个应用程序崩溃.我已经在onSaveInstanceState和onRestoreInstanceState方法中放置了断点,并且已经验证了恢复所需的所有内容都是DialogPreference有序的,onDialogClosed每次都会使用我自定义中的所有其他自定义代码来触发该方法DialogPreference.
我正在建设以下内容:
我正在Verizon Galaxy Nexus上运行Android 4.4.3(KitKat).
这是给出的堆栈跟踪:
java.lang.IndexOutOfBoundsException: setSpan (4 ... 4) ends beyond length 0
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1016)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:592)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:588)
at android.text.Selection.setSelection(Selection.java:76)
at android.widget.EditText.setSelection(EditText.java:87)
at android.widget.NumberPicker$SetSelectionCommand.run(NumberPicker.java:2123)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(NativeStart.java)
Run Code Online (Sandbox Code Playgroud) android timepicker android-preferences numberpicker android-timepicker
我正在使用支持库获取新的timepicker.但我需要以30分钟的时间间隔显示Holo Style时间选择器.
我使用以下代码:
public void showTimePickerDialog(Calendar calendar) {
selectedCalendarInstance = calendar;
TimePickerDialog timePickerDialog = new TimePickerDialog(activity, R.style.DialogTheme, this, 10, 0, false);
timePickerDialog.setTitle(null);
timePickerDialog.show();
}
Run Code Online (Sandbox Code Playgroud)
但我需要以下风格的时间戳

请帮忙!
提前致谢!
我有一个片段,它启动一个TimePicker对话框供用户选择一天中的时间.我希望对话框启动时间为下午4:00时显示的默认时间.然后,用户可以选择他们自己的时间.我一直在尝试setHour和setMinute但无济于事.
下面是设置为当前时间的TimePicker的部分代码.请告知如何修改以在TimePicker对话框首次启动时始终显示下午4:00.
...
public Dialog onCreateDialog(Bundle savedInstanceState) {
cal = Calendar.getInstance();
hour = cal.get(Calendar.HOUR_OF_DAY);
minute = cal.get(Calendar.MINUTE);
TimePickerDialog dialog = new TimePickerDialog(getActivity(),this,hour,minute,
dialog.setTitle("Select...");
return dialog;
}
Run Code Online (Sandbox Code Playgroud) 我的自定义对话框中有一个时间选择器。结果是:
这是我的代码:
<style name="DialogStyler2" parent="Theme.AppCompat.Light.Dialog.Alert">
<item name="android:background">#FFFFFF</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:windowNoTitle">true</item>
</style>
final Dialog dialog = new Dialog(SabadKharid_s1.this, R.style.DialogStyler2);
dialog.setContentView(R.layout.dialogtime);
timePicker = (TimePicker) dialog.findViewById(R.id.timePicker);
timePicker.setIs24HourView(true);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
dialog.show();
dialog.getWindow().setAttributes(lp);
Run Code Online (Sandbox Code Playgroud)
如您所见,textView标题中的小时和分钟为白色。如何更改其背景颜色?
我想在我的主视图中添加Android的时间和日期选择器并始终显示它.现在它只能作为一个对话框.有没有办法将它用作视图而不是对话框?
有没有可以做到这一点的图书馆?
提前致谢
我的应用程序下载购物详细信息。
示例:伦敦时间 5:30 下载购物详细信息。
现在,更改任何其他时区,以便根据所选时区转换下载时间。
时区正在从日期/时间下的设置更改。
如何以编程方式实现这一点?那么如何根据时区选择转换下载时间?
我想更改TimePicker的样式,但是无法更改钟面和标题背景的颜色。这是我的XML样式代码-
<style name="DateTimeDialog" parent="Theme.AppCompat.Dialog">
<item name="android:colorBackground">@color/colorWhite</item>
<item name="android:textColorPrimary">#000000</item>
<item name="android:headerBackground">#000000</item>
<item name="android:textColorSecondary">#000000</item>
<item name="android:button">@color/colorWhite</item>
<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:colorAccent">@color/colorSecondary</item>
<item name="android:textColor">@color/colorSecondaryDark</item>
</style>
Run Code Online (Sandbox Code Playgroud)
原色是海军蓝色,而强调色/次要颜色是浅蓝色(以防万一,您希望将其描绘出来)。这是目前的样子-
当前风格
我希望能够更改灰色背景。
注意:“ android:background”属性在这里不起作用。它仅更改标题中显示的时间中“:”后面的微小区域的颜色。任何帮助/资源表示赞赏。谢谢!
我正在为 Flutter 应用程序编写集成测试,我需要打开时间选择器并选择一个时间,它是 android 中的时间选择器对话框,我可以点击选择器上方的时间,然后点击确定和取消按钮,但我不能更改表盘的选定时间。查看他们的小部件测试,他们正在使用偏移量对其进行测试,我不确定如何从集成测试中执行此操作。我创建了一个演示并截取了 flutter 小部件树的屏幕截图,您可以在其中看到拨号和手势检测器等,但没有任何键可以找到,也无法通过文本进行查找,深入研究源他们创建了一个 _TappableLabel 列表,它从画家那里获取文本,有没有人有办法做到这一点?
android ×9
datetime ×1
dialog ×1
flutter ×1
numberpicker ×1
time-format ×1
timepicker ×1
timezone ×1