gpt4 book ai didi

android - 动态更改源后,Xamarin Forms ImageButton 变小

转载 作者:行者123 更新时间:2023-11-29 23:19:10 28 4
gpt4 key购买 nike

我在“语言页面”上有 3 个 ImageButton,代表应用程序 (Android) 的 3 种不同语言。

<ContentPage.Resources>
<ResourceDictionary>
<Style x:Key="flagsImageButtonStyles" TargetType="ImageButton">
<Setter Property="HeightRequest"
Value="130" />
<Setter Property="WidthRequest"
Value="130" />
<Setter Property="Aspect" Value="AspectFill" />
<Setter Property="BackgroundColor" Value="Transparent" />
</Style>
</ResourceDictionary>
</ContentPage.Resources>

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1.5*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>

...

<ImageButton Grid.Row="1" StyleId="fr" Grid.Column="1" x:Name="btnFrench" Clicked="LanguageButton_Clicked" Style="{StaticResource flagsImageButtonStyles}"/>
<ImageButton Grid.Row="2" StyleId="nl" Grid.Column="1" x:Name="btnDutch" Clicked="LanguageButton_Clicked" Style="{StaticResource flagsImageButtonStyles}"/>
<ImageButton Grid.Row="3" StyleId="en" Grid.Column="1" x:Name="btnEnglish" Clicked="LanguageButton_Clicked" Style="{StaticResource flagsImageButtonStyles}"/>

</Grid>

我这样设置 ImageButtons 的来源:

protected override void OnAppearing()
{
switch (CrossMultilingual.Current.CurrentCultureInfo.TwoLetterISOLanguageName) // "fr", "nl", "en"
{
case "fr":
btnFrench.Source = "fr_flag_selected.png";
btnDutch.Source = "nl_flag.png";
btnEnglish.Source = "en_flag.png";
break;

case "nl":
btnFrench.Source = "fr_flag.png";
btnDutch.Source = "nl_flag_selected.png";
btnEnglish.Source = "en_flag.png";
break;

case "en":
btnFrench.Source = "fr_flag.png";
btnDutch.Source = "nl_flag.png";
btnEnglish.Source = "en_flag_selected.png";
break;
}
base.OnAppearing();
}

每当我点击其中一个时,我都会设置语言,然后导航到另一个页面。

因此下次加载“语言页面”时,它将检查当前语言并调整 ImageBUtton 的源代码。

问题是,每当我单击其中一个 ImageButton 或应用程序进入休眠状态时,ImageButton 会变得非常小。

任何想法,可能有什么问题?

最佳答案

它是固定的。

我必须指定应用于 ImageButton、行和列定义的相同高度/宽度请求:

<Grid.RowDefinitions>
<RowDefinition Height="1.5*"></RowDefinition>
<RowDefinition Height="130"></RowDefinition>
<RowDefinition Height="130"></RowDefinition>
<RowDefinition Height="130"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="130"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>

关于android - 动态更改源后,Xamarin Forms ImageButton 变小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54727658/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com