标签: timepickerdialog

jetpack compose 中的 TimePickerDialog

我从material3文档中获得了用于撰写的代码:

import androidx.compose.foundation.layout.Box
import androidx.compose.material3.Button
import androidx.compose.material3.SnackbarHost
import androidx.compose.material3.SnackbarHostState
import androidx.compose.material3.Text
import androidx.compose.material3.TimeInput
import androidx.compose.material3.rememberTimePickerState
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope

var showTimePicker by remember { mutableStateOf(false) }
val state = rememberTimePickerState()
val formatter = remember { SimpleDateFormat("hh:mm a", Locale.getDefault()) }
val snackState = remember { SnackbarHostState() }
val snackScope = rememberCoroutineScope()

Box(propagateMinConstraints = false) {
    Button(
        modifier = Modifier.align(Alignment.Center),
        onClick = { showTimePicker = true }
    ) { Text("Set Time") }
    SnackbarHost(hostState = snackState)
}

if (showTimePicker) { …
Run Code Online (Sandbox Code Playgroud)

android timepickerdialog android-jetpack-compose

17
推荐指数
1
解决办法
3923
查看次数

带微调器的 TimePicker?

我正在尝试构建一个 TimePickerDialog 但不幸的是,出现的时间选择器使用起来非常麻烦:

在此处输入图片说明

有什么方法可以像Android使用的旧时间选择器一样构建一个时间选择器,如下所示:

在此处输入图片说明

我的代码如下:

    ButtonTime.Click += delegate
    {
        ShowTimePickerDialog();
    };

    void ShowTimePickerDialog()
    {
        var dialog = new TimePickerDialogFragment(this, hour, minute, this);

        dialog.Show(FragmentManager, null);
    }
Run Code Online (Sandbox Code Playgroud)

xamarin.android xamarin timepickerdialog

6
推荐指数
2
解决办法
6412
查看次数

如何在时间选择器上设置自定义标题?

我正在制作一个带标题的日期选择器,但是它的视图很难看,因为没有底部边缘,我怎样才能使它变得不那么美观?timepickerdialog截图

你可以看到它非常难看.

我的代码:

if(endTime.isEmpty() || startTime.isEmpty()){

    int CustomHour       = 12;
    int CustomMinute     = 00;
    int hour             = CustomHour;
    int minute           = CustomMinute;

    TimePickerDialog tpd = new TimePickerDialog(ActivityAlarm.this, new TimePickerDialog.OnTimeSetListener() 
    {       

        int callCount = 0;   //To track number of calls to onTimeSet()              
        @Override
        public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) 
        {   

...

    }, hour, minute, DateFormat.is24HourFormat(ActivityAlarm.this));
    tpd.setTitle("Set Time");           
    // Create a new instance of TimePickerDialog and return it
    return  tpd;
}
Run Code Online (Sandbox Code Playgroud)

android timepickerdialog

4
推荐指数
1
解决办法
2560
查看次数

如何在适当的时间格式中添加额外的零

我正在使用时间选择器来选择时间,然后以24小时格式以吐司形式显示它.我正在像"2:6"这样的吐司输出.我想以适当的时间格式获得它,如"02:06".我怎样才能做到这一点....

public void ShowTimePicker(View view) {
    DialogFragment newFragment = new TimePickerFragment();
    newFragment.show(getSupportFragmentManager(), "timePicker");

}


public static class TimePickerFragment extends DialogFragment
        implements TimePickerDialog.OnTimeSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the current time as the default values for the picker
        final Calendar c = Calendar.getInstance();

        int hour = c.get(Calendar.HOUR_OF_DAY);
        int minute = c.get(Calendar.MINUTE);

        // Create a new instance of TimePickerDialog and return it
        return new TimePickerDialog(getActivity(), this, hour, minute,
                DateFormat.is24HourFormat(getActivity()));
    }

    public void onTimeSet(TimePicker view, int hourOfDay, int minute) …
Run Code Online (Sandbox Code Playgroud)

android calendar timepicker timepickerdialog

2
推荐指数
2
解决办法
2779
查看次数

TimePickerDialog 中的标题

我正在尝试为我的 TimePickerDialog 设置标题。我看过几个例子,但我无法得到我想要的结果。这就是我想要得到的。

在此处输入图片说明

但无法知道如何在图片中放置“请选择日期”之类的标题。

到目前为止我的代码:

// OnTimeListener
val timeSetListener = TimePickerDialog.OnTimeSetListener { _, hourOfDay, minute ->
    calendar.set(Calendar.HOUR_OF_DAY, hourOfDay)
    calendar.set(Calendar.MINUTE,minute)
    updateTimeInView()
}

// Opening time picker dialog
val openingTimePickerDialog = TimePickerDialog(this,
   timeSetListener,
   calendar.get(Calendar.HOUR_OF_DAY),
   calendar.get(Calendar.MINUTE),true)
openingTimePickerDialog.setTitle("Opening Hours")
openingTimePickerDialog.show()
Run Code Online (Sandbox Code Playgroud)

updateTimeInView()函数只是使用选择器中选择的时间更改 TextView。

感谢您对此的帮助!

android kotlin timepickerdialog

2
推荐指数
1
解决办法
369
查看次数

访问 TimePickerDialog 的 NumberPicker 对象而不是 Class.forName 的替代方法

我正在尝试创建一个自TimePickerDialog定义的小时和分钟的自定义间隔,并设法通过使用这个问题的答案来解决它。

问题是 Android Studio 显示以下警告:

不支持通过反射访问内部 API,并且可能无法在所有设备上或将来使用。使用反射访问隐藏/私有的 Android API 是不安全的;它通常不适用于其他供应商的设备,并且可能会突然停止工作[...]

问题在第一行:

Class<?> classForid = Class.forName("com.android.internal.R$id");

Field timePickerField = classForid.getField("timePicker");
TimePicker mTimePicker = findViewById(timePickerField.getInt(null));
Field minuteField = classForid.getField("minute");
Field hourField = classForid.getField("hour");
NumberPicker minutePicker = mTimePicker.findViewById(minuteField.getInt(null));
NumberPicker hourPicker = mTimePicker.findViewById(hourField.getInt(null));
Run Code Online (Sandbox Code Playgroud)

我需要一些访问这两个NumberPicker对象的替代方法。

java android timepickerdialog

2
推荐指数
1
解决办法
356
查看次数