3
我想要一個水平居中的圖像,然後放置在它下面的一個文本框,也水平居中。相對佈局(XAML)中的佈局項目
從我所見過的所有例子中,相關視圖的寬度和高度需要事先知道,以便對它進行硬編碼。當然,情況並非如此?
這是我到目前爲止嘗試過的。
<RelativeLayout>
<Image x:Name="logo" Source="logo.png" HorizontalOptions="CenterAndExpand"/>
<StackLayout Orientation="Horizontal"
BackgroundColor="Lime"
RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent,
Property=Width,
Factor=0.5"
RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView,
ElementName=logo
Property=Y,
Constant=100}">
<Entry Text="{Binding Email, Mode=TwoWay}" Keyboard="Email" x:Name="signUpemailEntry" Placeholder="Email" TextColor="#2980b9" WidthRequest="270" BackgroundColor="Fuchsia">
<Entry.Behaviors>
<behave:EmailValidatorBehaviour x:Name="signUpemailValidator"/>
</Entry.Behaviors>
</Entry>
<Image x:Name="signUpemailSuccessErrorImage"
Style="{Binding Source={x:Reference emailValidator},
Path=IsValid,
Converter={StaticResource boolToStyleImage}}"/>
</StackLayout>
</RelativeLayout>
如果你想要一個元素在另一個下面,爲什麼不使用垂直的StackLayout?我認爲你的佈局和所有這些約束對於如此簡單的目的來說太複雜了......編輯:如果你需要在logo下方放置條目,但不是第二個圖像,我認爲這是Grid的最佳佈局。只需將徽標和條目放置到第一列,第二個圖像將放在第二列。 – Grisha
@Grisha我想要相對佈局的原因是有更多的項目將被添加。其中一個是需要停靠在屏幕底部的按鈕 –
我仍然認爲Grid可以更好地爲您服務。這是非常靈活的佈局。你可以把這個按鈕放在單獨的最後一行(高度設置爲自動),這將做... – Grisha