我有一个s
的课程,在本课程中我使用Type '{ s: number; x: number; }' cannot be converted to type 'Foo'.
Types of property 's' are incompatible.
Type 'number' is not comparable to type 'string'.
。
时间选择器有效,但有时问题是extends DialogFragment
和TimePickerDialog
按钮无法显示,如下图所示。
按钮有效,但不可见。
以下是用于时间选择器的代码。
CANCEL
答案 0 :(得分:5)
我解决了这个问题,我认为由于某些原因,按钮的字体颜色有时显示为白色,不知道为什么。
为了解决这个问题,我在TimePickerDialog中添加了一个对话框主题来设置按钮文字颜色。
这是我添加到styles.xml的xml代码
<style name="MyTimePickerDialogTheme" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="android:textColor">@color/colorAccent</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
这是我改变的代码。
@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);
Bundle b = getArguments();
if (b != null) {
startEndTime = b.getString("startEndTime");
}
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), R.style.MyTimePickerDialogTheme, this, hour, minute, DateFormat.is24HourFormat(getActivity()));
}
答案 1 :(得分:0)
我用以下代码解决了相同的问题。
<TimePicker
android:id="@+id/timepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_gravity="right|bottom"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.TextButton"
android:text="Cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.Button.TextButton"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:text="Ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
</TimePicker>
答案 2 :(得分:0)
对我来说确定和取消按钮的颜色是白色的,这是因为我的 colorOnPrimary 设置为白色。
<item name="colorOnPrimary">@color/white</item>
Timepicker 使用它来修复您可以将其更改为黑色或任何您想要的颜色的问题。
<item name="colorOnPrimary">@color/black</item>
或者只是在自定义主题中添加一个新的 colorOnPrimary 并将其用于时间选择器。
<style name="MyTimePickerDialogTheme" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="colorOnPrimary">@color/black</item>
</style>