Xamarin:带图标的条目:文本重叠

时间:2017-10-16 09:28:28

标签: xaml xamarin xamarin.forms

enter image description here

所以我在我的头上有这个xaml文件,我想要的是我希望条目文本不会与图标本身背后/重叠。

为了实现右侧的图标,我有两列:一列用于输入,一列用于图标

我设置了条目的Grid.ColumnSpan="2"并设置了图标HorizontalOptions="End",但条目的文字在我的图标后面,我该如何防止这种情况?如果需要更多信息,请不要犹豫,问我。谢谢!

EDIT1:这是代码

<Grid>
   <Grid.ColumnDefinitions>
       <ColumnDefinition Width="*"/>
       <ColumnDefinition Width="*"/>
   </Grid.ColumnDefinitions>
   <Entry Grid.Column="0" Grid.ColumnSpan="2" IsPassword="True"/>
   <Image Source="eye.png" Grid.Column="1" Grid.ColumnSpan="1"/>
</Grid>

3 个答案:

答案 0 :(得分:4)

将网格宽度*更改为自动

<Grid>
       <Grid.ColumnDefinitions>
           <ColumnDefinition Width="*"/>
           <ColumnDefinition Width="Auto"/>
       </Grid.ColumnDefinitions>
       <Entry Grid.Column="0" IsPassword="True"/>
       <Image Grid.Column="1" Source="eye.png" WidthRequest="50" HeightRequest="50" />
    </Grid>

尝试堆叠布局而不是网格

<StackLayout Orientation="Horizontal" Spacing="0">
    <Entry IsPassword="True" HorizontalOptions="FillAndExpand"/>
    <Image Source="eye.png" WidthRequest="50" HeightRequest="50"/>
</StackLayout>

答案 1 :(得分:0)

试试这个:

<Grid>
   <Grid.ColumnDefinitions>
       <ColumnDefinition Width="*"/>
       <ColumnDefinition Width="Auto"/>
   </Grid.ColumnDefinitions>
   <Entry Grid.Column="0" IsPassword="True"/>
   <Image Source="eye.png" Grid.Column="1" />
</Grid>

答案 2 :(得分:0)

所以这就是我所做的:

跨平台的xaml文件:

<StackLayout Orientation="Horizontal"  Spacing="0">
     <Entry  HorizontalOptions="FillAndExpand" IsPassword="True"/>
     <Image Source="{Binding ImageSource}" 
                           HorizontalOptions="End" Margin="5,0,0,0"
                           HeightRequest="20"
                           WidthRequest="20">
                        <Image.GestureRecognizers>
                            <TapGestureRecognizer Command="{Binding MaskCommand}"/>
                        </Image.GestureRecognizers>
      </Image>
<StackLayout>

Android渲染器:

Control?.SetBackgroundColor(Android.Graphics.Color.Transparent);

我在iOS和UWP上尝试后会更新此内容。