簡體   English   中英

Android 模擬器的 Xamarin 按鈕單擊事件失敗

[英]Xamarin Button Click event failure with Android Emulator

我在使用 Xamarin Forms for Android 使按鈕點擊工作時遇到問題。 我的代碼只是添加了一個 Button 和一個 Click 處理程序的空白模板。 我正在使用 Visual Studio 2019 企業版。 iOS 和 UWP 項目存在,但已禁用。

我已將所有 NuGet 包以及 Android SDK 和工具更新到最新版本 (Xamarin.Forms v4.4.0.991477)。 我試過 Android 9.0 API 28 和 6.0 API 23。

OnButtonClicked設置的斷點永遠不會被命中。 MainPage本身似乎加載良好; 沒有明顯的錯誤或布局問題。 不會拋出異常。

我嘗試下載一個具有類似代碼的示例項目並未經修改地運行它——同樣的問題。

就好像模擬器上的鼠標單擊/點擊被忽略了一樣。

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             Title="Home"
             x:Class="Sched.MainPage">
    <ContentPage.Content>
        <StackLayout>
            <Button Text="Button" Clicked="OnButtonClicked" />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>
using System;
using System.ComponentModel;
using Xamarin.Forms;

namespace Sched
{
    [DesignTimeVisible(false)]
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        async void OnButtonClicked(object sender, EventArgs e)
        {
            var taskPage = new TaskPage();
            await this.Navigation.PushAsync(taskPage);
        }
    }
}
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             mc:Ignorable="d"
             Title="Task"
             x:Class="Sched.TaskPage">
    <ContentPage.Content>
        <StackLayout>
            <Label Text="Welcome to Xamarin.Forms!"
                VerticalOptions="CenterAndExpand" 
                HorizontalOptions="CenterAndExpand" />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

問題解決了。

代碼沒問題。 問題是我的主顯示器是 3840 x 2160 像素,通常使用 Windows 顯示設置配置為 150% 縮放。 如果我將其設置為 100% 縮放,問題就會消失。 等效地,如果我將 Android 模擬器窗口拖到我的輔助顯示器上,它具有 100% 的縮放比例,這也有效。

150% 縮放的另一個副作用是它會導致模擬器呈現為一個大的純黑框,Android 屏幕位於左上角。 100% 縮放后,黑框消失,只留下 Android 屏幕。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM