1. Есть ли способ заставить эти элементы управления отображаться «друг над другом» с помощью FlexLayout?
Да, вы можете поставить editor
поверх Frame
в твоем случае.Это то же самое, что вы положили Frame
внутрь Flexlayout
.Я добавил немного backgroundColor
к элементам управления, чтобы прояснить ситуацию.
Вот пример помещения editor
внутрь Frame
:
<StackLayout>
<!-- Place new controls here -->
<Frame
Grid.Row="1"
BorderColor="white"
CornerRadius="0"
HasShadow="True"
OutlineColor="White">
<FlexLayout
AlignItems="Center"
Direction="Column"
JustifyContent="SpaceEvenly">
<!-- Title -->
<Label
Grid.Row="0"
FontAttributes="Bold"
FontSize="Medium"
HorizontalOptions="Center"
HorizontalTextAlignment="Center"
BackgroundColor="Green"
Text=" Viewtitle" />
<!-- Scrollable text -->
<ScrollView
x:Name="ActionViewScroller"
Grid.Row="1"
Margin="10"
HorizontalOptions="Fill"
VerticalOptions="Center"
VerticalScrollBarVisibility="Always">
<Label Text="123" />
</ScrollView>
<!-- Text box for optional notes -->
<Frame
Grid.Row="2"
Margin="10"
BorderColor="LightGray"
CornerRadius="0"
FlexLayout.Grow="1"
HasShadow="False"
WidthRequest="280"
BackgroundColor="Red">
<!-- Put your Editor inside Frame here -->
<Editor
x:Name="ActionViewNotes"
Grid.Row="2"
Margin="15"
AutoSize="TextChanges"
FlexLayout.Grow="1"
HorizontalOptions="FillAndExpand"
IsSpellCheckEnabled="True"
Keyboard="Default"
MaxLength="150"
Placeholder="PlaceholderText"
VerticalOptions="Center"
WidthRequest="280"
BackgroundColor="AliceBlue"/>
</Frame>
</FlexLayout>
</Frame>
</StackLayout>
2. Можетесть ли другой, более подходящий макет для моей проблемы?
Есть несколько способов добиться макета для вашей проблемы.Вы можете использовать StackLayout
, AbsoluteLayout
, RelativeLayout
, Grid
и так далее.На мой взгляд, какой выбрать в зависимости от себя.У каждого способа есть свои преимущества.Flexlayout
удобнее расположить своих дочерних элементов горизонтально и вертикально в стеке.
Вы можете обратиться к официальным документам о layout
. Существует несколько демонстраций, похожих на ваш макет, и вы можете получить преимущества каждого варианта макета оттуда.
Макеты