Половина изображения над другим изображением в форме xamarin
Я работаю с формами xamarin. Мне нужно создать макет с двумя объектами, расположенными так:
половина одного (круга) над другим объектом (квадрат)
Я искал, и мне кажется, что мне нужно использовать относительный макет... Я попытался сделать это, установив оба объекта в одной и той же сетке (строка и строка 0), а затем, используя constraintX, установить вторую в том же Y с коэффициентом 0 и отрицательная константа... Но это не сработало. A удалил строки и не может показать здесь, к сожалению... единственное, что произошло в этом: оба были в том же положении в y, но я мог бы сделать как изображение выше... Может кто-нибудь мне помочь с примером, идеей или чем-то еще? Большое спасибо!
Теперь мой код - образ родепы - это квадрат, а перезагрузка - это круг, который я теперь тот факт, что перезагрузка находится под квадратом, ошибочна, но на данный момент она притворяется визуальным... а это дает мне результат что я хочу... но не совсем
<!--Rodapé Grid-->
<RelativeLayout HorizontalOptions="FillAndExpand"
VerticalOptions="EndAndExpand"
BackgroundColor="Black">
<Grid BackgroundColor="Red"
RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent,
Property=Width,
Factor=1,
Constant=0}">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Image Source="rodape.png"
Aspect="Fill"
HorizontalOptions="FillAndExpand"
Grid.Row="0"
Grid.Column="0">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="FranqueadoOnTapGestureRecognizerTapped"/>
</Image.GestureRecognizers>
</Image>
<!--Escrito Rodapé-->
<StackLayout Orientation="Vertical"
VerticalOptions="End"
HorizontalOptions="FillAndExpand"
Grid.Row="0"
Spacing="0"
Grid.Column="0">
<Image Source="reloadicon.png"/>
<StackLayout Orientation="Horizontal"
HorizontalOptions="Center">
<local:MyLabel NamedFontSize="Medium"
FontSizeFactor="0.7"
Text="Seja um Franqueado:"
TextColor="White"
FontAttributes="Bold"
Style="{StaticResource labelsfont}"/>
<local:MyLabel NamedFontSize="Medium"
FontSizeFactor="0.7" Text="montanaexpress.com"
Style="{StaticResource labelsfont}"
TextColor="{StaticResource laranjacolor}"/>
</StackLayout>
</StackLayout>
</Grid>
</RelativeLayout>
Ответы
Ответ 1
Попробуйте что-то вроде этого, я думаю, это проще:
<Grid>
<BoxView Grid.Column="0" Grid.Row="1"
Color="Red"
HeightRequest="20"
HorizontalOptions="FillAndExpand"/>
<Frame Grid.Column="0" Grid.Row="0" Grid.RowSpan="2"
BackgroundColor="Yellow"
HorizontalOptions="CenterAndExpand"
VerticalOptions="CenterAndExpand"
WidthRequest="40"
HeightRequest="40"
CornerRadius="40"
Margin="0,5,0,10"/>
</Grid>
Что вы получите:
РЕДАКТИРОВАТЬ:
Как вам нужно при комментариях, используя ваши изображения, вы должны сделать что-то вроде этого:
<Grid>
<Image Grid.Row="1" Grid.Column="0"
Source="rodape.png"
Aspect="Fill"
HorizontalOptions="FillAndExpand">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="FranqueadoOnTapGestureRecognizerTapped"/>
</Image.GestureRecognizers>
</Image>
<Image Grid.Column="0" Grid.Row="0" Grid.RowSpan="2"
Source="reloadicon.png"
HorizontalOptions="CenterAndExpand"
VerticalOptions="Center"/>
</Grid>
Примечание. Я не могу понять, как метки и изображение должны отображаться в вашем макете. Вы должны добавить его вручную