私は折りたたみ可能なStackLayoutの種類を実装しようとしています。 ユーザがボタンをクリックするたびに、スタックレイアウトを拡大または縮小して詳細を表示/非表示にします。Xamarin Forms Collapsable StackLayout
私は以下のコードでより多く/少なく、これを達成することができましたが、それは右見ていないと、それはすぐに成長し、私が効果を適用していますので、効果は、素晴らしいではありません他の要素。
私はxamarinフォームを使用していますか?
XAML
<?xml version="1.0" encoding="utf-8" ?>
<StackLayout xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Sample.MyStackLayout" >
<StackLayout x:Name="TopLayout">
<StackLayout Orientation="Horizontal">
<Label Text="some text" VerticalOptions="Center" HorizontalOptions="StartAndExpand" />
<Label Text="123" VerticalOptions="Center" HorizontalOptions="End" FontSize="Large" />
</StackLayout>
<BoxView Color="Black" HeightRequest="1" />
<StackLayout Orientation="Horizontal">
<Label Text="some text" VerticalOptions="Center" HorizontalOptions="StartAndExpand" />
<Label Text="123" VerticalOptions="Center" HorizontalOptions="End" FontSize="Large" />
</StackLayout>
<StackLayout Orientation="Horizontal">
<Label Text="some text" VerticalOptions="Center" HorizontalOptions="StartAndExpand" />
<Label Text="123" VerticalOptions="Center" HorizontalOptions="End" FontSize="Large" />
</StackLayout>
<Button x:Name="btn" Text="Button" Clicked="btnClicked" />
</StackLayout>
<StackLayout x:Name="MoreDetails" IsVisible="False">
<Label Text="some text 1"></Label>
<Label Text="some text 2"></Label>
<Label Text="some text 3"></Label>
<Label Text="some text 4"></Label>
<Label Text="some text 5"></Label>
<Label Text="some text 6"></Label>
<Label Text="some text 7"></Label>
<Label Text="some text 8"></Label>
</StackLayout>
</StackLayout>
コード
public AccountInfo()
{
InitializeComponent();
}
bool isExpanded = false;
protected async void btnClicked(object sender, EventArgs e)
{
if (isExpanded)
{
await MoreDetails.FadeTo(0);
MoreDetails.IsVisible = !isExpanded;
}
else
{
MoreDetails.IsVisible = !isExpanded;
await MoreDetails.FadeTo(1);
}
isExpanded = !isExpanded;
}
...など、拡張時に「概要地域をハイライト表示、拡大にアニメーションのようなものを追加することによって、これをさらに拡張することができますが、私はあなたのコードを貼り付けして動作しませんでした予想通り。私の考えは下のスタックレイアウトを取り除く(隠す)ことです。 Btw Easing.Noneは私のバージョンのXamarinフォームには存在しないので、私はLinearを使用しています。私はStackLayoutのすべての主要な内容を包んだので、私は[StackLayout> StackLayout TopLayoutとStackLayout ModerDetails] – user1845593
私は私の答えを編集しましたこれを試してください – Greensy
助けてくれてありがとう、 x、double y、uint length = 250、イージングイージング= null。 Btw ShowMoreとShowLessの後に "()"がありません – user1845593