【问题标题】:Xamarin Forms Relative Layout won't stackXamarin Forms 相对布局不会堆叠
【发布时间】:2015-05-24 03:40:22
【问题描述】:

使用以下代码:

<ScrollView Orientation="Vertical" Padding="0">
            <RelativeLayout BackgroundColor="Red" Padding="0">
                <BoxView Color="Blue" WidthRequest="100" HeightRequest="100" 
                RelativeLayout.XConstraint="{ConstraintExpression Type=Constant, Constant=0}" 
                RelativeLayout.YConstraint="{ConstraintExpression Type=Constant, Constant=0}" />
            </RelativeLayout>
            <RelativeLayout BackgroundColor="Green" Padding="0">
                <BoxView Color="Yellow" WidthRequest="100" HeightRequest="100" 
                RelativeLayout.XConstraint="{ConstraintExpression Type=Constant, Constant=0}" 
                RelativeLayout.YConstraint="{ConstraintExpression Type=Constant, Constant=0}" />
            </RelativeLayout>
        </ScrollView>

但由于某种原因,每个新的相对布局不是堆叠,而是像这样占据整个屏幕:

为什么它们不垂直堆叠?堆栈布局通常只会在垂直或水平方向取其子级的组合高度,但相对布局不会发生这种情况。我错过了什么?

【问题讨论】:

    标签: c# xaml xamarin xamarin.forms


    【解决方案1】:

    试试这个布局。我在 ScrollView 和 VerticalOptions="Start" 中为 RelativeLayouts 添加了 StackLayout。

    <?xml version="1.0" encoding="UTF-8"?>
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="TestChat.ChatPage">
        <ContentPage.Content>
    <ScrollView Orientation="Vertical" Padding="0">
        <StackLayout>
                <RelativeLayout BackgroundColor="Red" Padding="0" VerticalOptions="Start">
                    <BoxView Color="Blue" WidthRequest="100" HeightRequest="100" 
                    RelativeLayout.XConstraint="{ConstraintExpression Type=Constant, Constant=0}" 
                    RelativeLayout.YConstraint="{ConstraintExpression Type=Constant, Constant=0}" />
                </RelativeLayout>
                <RelativeLayout BackgroundColor="Green" Padding="0" VerticalOptions="Start">
                    <BoxView Color="Yellow" WidthRequest="100" HeightRequest="100" 
                    RelativeLayout.XConstraint="{ConstraintExpression Type=Constant, Constant=0}" 
                    RelativeLayout.YConstraint="{ConstraintExpression Type=Constant, Constant=0}" />
                </RelativeLayout>
                </StackLayout>
            </ScrollView>
        </ContentPage.Content>
    </ContentPage>
    

    【讨论】:

    • 堆栈布局 FTW。我基本上只使用它和 Grid(SL 开发人员日间)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多