zoukankan      html  css  js  c++  java
  • XamarinAndroid组件教程RecylerView动画组件使用动画(3)

    XamarinAndroid组件教程RecylerView动画组件使用动画(3)

    (8)打开Main.axml文件,构建主界面。代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
                  android:orientation="vertical"
    
                  android:layout_width="match_parent"
    
                  android:layout_height="match_parent">
    
      <android.support.v7.widget.Toolbar
    
          android:id="@+id/tool_bar"
    
          android:layout_width="match_parent"
    
          android:layout_height="wrap_content"
    
          android:background="#3DC49D"
    
          android:minHeight="?attr/actionBarSize">
    
          <RelativeLayout
    
              android:layout_width="match_parent"
    
              android:layout_height="wrap_content">
    
              <TextView
    
                  android:id="@+id/del"
    
                  android:layout_width="wrap_content"
    
                  android:layout_height="wrap_content"
    
                  android:layout_alignParentRight="true"
    
                  android:layout_centerInParent="true"
    
                  android:background="?attr/selectableItemBackground"
    
                  android:padding="10dp"
    
                  android:text="DEL"/>
    
              <TextView
    
                  android:id="@+id/add"
    
                  android:layout_width="wrap_content"
    
                  android:layout_height="wrap_content"
    
                  android:layout_toLeftOf="@id/del"
    
                  android:layout_centerInParent="true"
    
                  android:background="?attr/selectableItemBackground"
    
                  android:padding="10dp"
    
                  android:text="ADD"/>
    
          </RelativeLayout>
    
      </android.support.v7.widget.Toolbar>
    
      <android.support.v7.widget.RecyclerView
    
          android:id="@+id/list"
    
          android:layout_width="match_parent"
    
          android:layout_height="match_parent"/>
    
    </LinearLayout>
    

      

    (9)打开MainActivity.cs文件,设置RecylerView子元素添加和删除时的动画效果。代码如下:

    using Android.App;
    
    using Android.Widget;
    
    using Android.OS;
    
    using Android.Support.V7.Widget;
    
    using System.Linq;
    
    using RecyclerViewAnimators.Animators;
    
    using Android.Support.V7.App;
    
    namespace RecylerViewAnimatorsItemAnimator
    
    {
    
        [Activity(Label = "RecylerViewAnimatorsItemAnimator", MainLauncher = true, Icon = "@mipmap/icon", Theme = "@style/AppTheme")]
    
        public class MainActivity : AppCompatActivity
    
        {
    
            static readonly string[] data = {
    
                "Apple", "Ball", "Camera", "Day", "Egg", "Foo", "Google", "Hello", "Iron", "Japan", "Coke",
    
                "Dog", "Cat", "Yahoo", "Sony", "Canon", "Fujitsu", "USA", "Nexus", "LINE", "Haskell", "C++",
    
                "Java", "Go", "Swift", "Objective-c", "Ruby", "PHP", "Bash", "ksh", "C", "Groovy", "Kotlin",
    
                "Chip", "Japan", "U.S.A", "San Francisco", "Paris", "Tokyo", "Silicon Valley", "London",
    
                "Spain", "China", "Taiwan", "Asia", "New York", "France", "Kyoto", "Android", "Google", "C#",
    
                "iPhone", "iPad", "iPod", "Wasabeef", "Xamarin", "South Africa", "Cape Town", "Microsoft"
    
            };
    
            protected override void OnCreate(Bundle savedInstanceState)
    
            {
    
                base.OnCreate(savedInstanceState);
    
                SetContentView(Resource.Layout.Main);
    
                var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.tool_bar);
    
                SetSupportActionBar(toolbar);
    
                SupportActionBar.SetDisplayShowTitleEnabled(false);
    
                var recyclerView = FindViewById<RecyclerView>(Resource.Id.list);
    
                recyclerView.SetLayoutManager(new LinearLayoutManager(this));              //设置布局管理
    
                var datalist = data.ToList<string>();
    
                var adapter = new DataAdapter(this, datalist);
    
                recyclerView.SetAdapter(adapter);                                                                        //设置适配器
    
                recyclerView.SetItemAnimator(new FlipInLeftYAnimator());                        //设置动画效果
    
                //添加子元素
    
                FindViewById(Resource.Id.add).Click += (sender, e) => {
    
                    adapter.Add("newly added item", 1);
    
                };
    
                //删除子元素
    
                FindViewById(Resource.Id.del).Click += (sender, e) => {
    
                    adapter.Remove(1);
    
                };
    
            }
    
        }
    
    }
    

      

    运行程序后,初始状态如图1.1所示。轻拍Add按钮,实现子元素的添加,在添加子元素的时候会伴有指定动画效果,如图1.2所示。轻拍DEL按钮,实现子元素的删除,在子元素删除的过程中也会伴有指定的动画效果。

     

    图1.1  初始状态                          图1.2  添加数据

  • 相关阅读:
    speedtest测速网站测速节点添加流程
    Mac 系统更新怎么忽略
    【木马免杀思路】msf木马免杀 python转exe(一) 截止2021年8月8日通杀360,火绒,微步
    启动docker desktop for mac时,会自动打开IntelliJ IDEA
    【漏洞复现系列】Apache Solr SSRF文件读取漏洞(附0day POC)
    【维持权限】schtasks命令
    【cowrie蜜罐系列2】cowrie蜜罐配置代理成为高交互蜜罐(避免踩坑)
    【cowrie蜜罐系列1】cowrie蜜罐部署并配置mysql
    【漏洞复现系列】ThinkPHP 5 远程命令执行
    【漏洞复现系列】WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)
  • 原文地址:https://www.cnblogs.com/daxueba-ITdaren/p/9049843.html
Copyright © 2011-2022 走看看