私はこれが幾分基本的であれば私を許してくれますが、私の脳をグーグルで見つけ出して、これに対して良い答えを見つけることができませんでした...ListViewでImageCellを選択したときの素材デザインのアニメーション
私はマスターとして私のアプリの主なナビゲーションスキームを設定して、マスターのリストビューにバインドされたオブジェクトのTargetTypeプロパティに反映された詳細ページをロードします。基本的にはストレートMasterDetailページ用Xamarinのサンプルからそのように:
public class MasterPageItem
{
public string Title { get; set; }
public string IconSource { get; set; }
public Type TargetType { get; set; }
}
public MainMenu()
{
InitializeComponent();
var masterPageItems = new List<MasterPageItem>();
masterPageItems.Add(new MasterPageItem
{
Title = "Events",
IconSource = "Icon.png",
TargetType = typeof(MainPage)
});
masterPageItems.Add(new MasterPageItem
{
Title = "Categories",
IconSource = "Icon.png",
TargetType = typeof(Categories)
});
masterPageItems.Add(new MasterPageItem
{
Title = "Tags",
IconSource = "Icon.png",
TargetType = typeof(Tags)
});
listView.ItemsSource = masterPageItems;
}
void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
{
var item = e.SelectedItem as MasterPageItem;
if (item != null)
{
listView.SelectedItem = null;
var mdPage = this.Parent as MasterDetail;
mdPage.IsPresented = false;
mdPage.Detail = new NavigationPage((ContentPage)Activator.CreateInstance(item.TargetType))
{
BarBackgroundColor = Color.FromHex("1976D2")
};
}
}
XAMLページ:
<ContentPage.Content>
<StackLayout VerticalOptions="FillAndExpand">
<ListView x:Name="listView" VerticalOptions="FillAndExpand" SeparatorVisibility="None" ItemSelected="OnItemSelected">
<ListView.ItemTemplate>
<DataTemplate>
<ImageCell ImageSource="{Binding IconSource}" Text="{Binding Title}" TextColor="White" Tapped="OnCellTapped" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage.Content>
私の目標は、のプレスにシンプルな材料設計型背景色のアニメーションを追加しようとすることですListViewアイテム(この例のように:http://thecodeplayer.com/walkthrough/ripple-click-effect-google-material-design)。
ImageCellクラスはIAnimatableを実装していないため、その要素のTappedイベントへのバインドは役に立たず、ListViewクラス自体はItemまたはRow要素のソートを実装していないようですそれ自体はアニメーション可能です。私が見る唯一のオプションは、実際に行うことができるListView全体をアニメーション化することですが、明らかに私が達成しようとしているものではありません。
ListItem自体にSelectedItemBackgroundColorプロパティまたは同等のものがないようですか?私は、これがクロスプラットフォームでは実行できず、プラットフォーム固有でなければならないというような、何かメジャーなものを見逃しているような気がしますが、それはXamarinの大きな監視のようです。
同様のUXを利用したいリストビューがいくつかありますので、どんな助けでも大歓迎です。