首页 > 解决方案 > Android 中的 Xamarin 窗体框架

问题描述

我有四个框架,我想输入那个数字。在 Windows 上运行时,数字完全可见,但在 Android 上运行时,数字不可见或出现一半。我不想更改轮廓使它们变形并改变它们的外观我是 xamarin 的初学者请建议我在 Android 上运行时正确显示数字而不改变我的框架的外观。

XAML:

    <Style TargetType="Frame" >
        <Setter Property="BackgroundColor" Value="White"/>
        <Setter Property="CornerRadius" Value="15"/>
        <Setter Property="HeightRequest" Value="30"/>
        <Setter Property="BorderColor" Value="Blue"/>
        <Setter Property="Margin" Value="3"/>
    </Style>

</ContentPage.Resources>
<StackLayout BackgroundColor="White" Orientation="Vertical" >

    <Image Source="d.png"  WidthRequest="60" HeightRequest="60" Margin="0,5,0,5"/>

    <BoxView WidthRequest="40" HeightRequest="60" BackgroundColor="Pink" HorizontalOptions="Center"/>

    <Label Text="کد ارسال شده را اینجا وارد کنید" TextColor="Black" FontSize="15" HorizontalOptions="Center" Margin="0,5,0,0"
           VerticalOptions="Center"/>


    <StackLayout  Orientation="Horizontal" HorizontalOptions="Center" Spacing="10"  BackgroundColor="White">

        <Frame WidthRequest="80" x:Name="frame1"  >
            <Entry Keyboard="Numeric" TextColor="Black"  FontSize="20" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" MaxLength="1"
                   HorizontalTextAlignment="Center" Focused="Entry_Focused" Unfocused="Entry_unFocused" />

        </Frame>

        <Frame WidthRequest="80"  x:Name="frame2" >
            <Entry Keyboard="Numeric" TextColor="Black" FontSize="20" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"
                   HorizontalTextAlignment="Center" MaxLength="1"  Focused="Entry_Focused1" Unfocused="Entry_unFocused1" />

        </Frame>

        <Frame WidthRequest="80" x:Name="frame3" >
            <Entry Keyboard="Numeric" TextColor="Black" FontSize="20" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"
                   HorizontalTextAlignment="Center" Focused="Entry_Focused2" Unfocused="Entry_unFocused2" MaxLength="1" />

        </Frame>

        <Frame WidthRequest="80" x:Name="frame4"
             >
            <Entry Keyboard="Numeric" FontSize="20" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"
               MaxLength="1"    HorizontalTextAlignment="Center" Focused="Entry_Focused3" Unfocused="Entry_unFocused3" />

        </Frame>

    </StackLayout>

    <Button   x:Name="Button"    Text="تایید"  TextColor="White" BackgroundColor="Green" HorizontalOptions="Center"
            VerticalOptions="End" WidthRequest="340" HeightRequest="50" CornerRadius="5" Margin="0,10,0,10"/>

</StackLayout>

标签: xamlxamarinxamarin.android

解决方案


可以在Frame中为android设置具体的heightrequest

这是在android中运行的屏幕截图。

在此处输入图像描述

这是代码。

 <Frame  x:Name="frame1" WidthRequest="80" >
            <Entry Keyboard="Numeric" TextColor="Black"  FontSize="20" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" MaxLength="1"
               HorizontalTextAlignment="Center" Focused="Entry_Focused" Unfocused="Entry_Unfocused" >


            </Entry>
            <Frame.HeightRequest>
                <OnPlatform Android="50" ></OnPlatform>


            </Frame.HeightRequest>

        </Frame>

推荐阅读