Xamarin 使用框架创建圆形图像

A. *_*ijk 5 xamarin.ios xamarin.android xamarin xamarin.forms

我有个问题。我想创建一个圆形图像,所以我创建了以下代码:

<Frame Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" VerticalOptions="Center"
    CornerRadius="100" IsClippedToBounds="True" HeightRequest="70" WidthRequest="70">
    <Image Source="User_Vreesie_Logo.png"
    VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" />
</Frame>
Run Code Online (Sandbox Code Playgroud)

现在我希望得到一个尺寸为 70x70 的圆形图像,但我得到了非常长(宽)的框架,带有圆角,中间有一个小方形图像。我怎样才能解决这个问题?

bha*_*shi 5

试试这些:

  1. 框架的默认填充为 25。因此,设置Padding="0"
  2. HeightRequest/WidthRequest赋予图像,因为图像似乎不会在 Xamarin 中自动缩放。
  3. 设置Aspect="AspectFit"Image. 它将缩放图像以适合视图,但可能会有白带,或者您可以使用Aspect="AspectFill"。它将缩放图像以填充整个视图,但边框图像部分可能会被剪切。


Jun*_*ang 5

如果您需要70*70中显示的图像Grid并且需要ColumnSpan = 2. 我已经在我的本地项目中使用以下代码进行了测试,它有效。看看如下:

<Grid BackgroundColor="GreenYellow">
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="auto" />
        <ColumnDefinition Width="auto" />
    </Grid.ColumnDefinitions>
    <Frame Grid.Row="0"
           Grid.Column="1"
           Grid.ColumnSpan="2"
           Padding="0"
           HorizontalOptions="CenterAndExpand"
           VerticalOptions="Center"
           CornerRadius="100"
           IsClippedToBounds="True"
           HeightRequest="70"
           WidthRequest="70"
           BackgroundColor="SaddleBrown">
        <Image Source="icon.png"
               VerticalOptions="FillAndExpand"
               HorizontalOptions="FillAndExpand" />
    </Frame>
</Grid>
Run Code Online (Sandbox Code Playgroud)

影响 :

在此输入图像描述