DatePicker 在真实设备上运行不佳

问题描述

我在 Xamarin.Forms 中使用 DatePicker

在 UWP 和虚拟 Android 设备上,它运行良好。 这是虚拟设备的截图。

enter image description here

但在真正的安卓设备上,它不起作用。

enter image description here

为什么会出现这个问题?

我的真机版本是Android11,所以我更改了目标版本。然而,问题并没有解决

功能是否与 Android 11 不兼容?

然后,切换按钮也不能很好地显示

~添加~

在Android11虚拟设备上,该功能运行良好。

这是我的代码

MainPage.cs

public partial class MainPage : ContentPage {
    public MainPage() {
        InitializeComponent();
    }
    public async void newpage(object sender,EventArgs e) {
        await Navigation.PushAsync(new addPage());
    }
 }

addPage(摘录)

<StackLayout BackgroundColor="White"
                         Orientation="Horizontal"
                         Padding="7,5,5"
                          >
                <Label Text="           開始日時"
                       FontSize="17"
                       TextColor="Black"
                       HorizontalOptions="Start"
                       VerticalOptions="Center"/>
                <DatePicker x:Name="startTimePicker"
                            Format="yyyy/MM/dd"
                            Date="2021/01/30"
                            HorizontalOptions="End" />
            </StackLayout>

解决方法

我找到了解决方案!

深色主题是造成这个问题的原因,关闭该功能即可解决。

或者在 MainActivity.cs 中添加 onCreate 代码

AppCompatDelegate.DefaultNightMode = AppCompatDelegate.ModeNightNo;
,

这个问题是known for a while

解决方法是从您的 styles.xml 中删除此行:

<item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...