• AndroidUI 布局动画-为列表添加布局动画效果


    新建一个Android project ,使MainActivity 继承自 ListActivity;

    public class MainActivity extends ListActivity {
    
    	private ArrayAdapter<String> aa;
    	private LayoutAnimationController la;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //setContentView(R.layout.activity_main);
           aa=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_activated_1
            		, new String[]{"Jack","Tom","Mali","kelusi"});
            setListAdapter(aa);
            
            ScaleAnimation scale=new ScaleAnimation(0,1,0,1);
            scale.setDuration(1000);
            la=new LayoutAnimationController(scale, 0.5f);
            getListView().setLayoutAnimation(la);
        }
        
    }


    效果:


    为了使代码看起来更加简洁,我们使用XML配置ListView的动画效果,新建一个缩放动画效果res/anim/listview_scale.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <scale xmlns:android="http://schemas.android.com/apk/res/android" 
        android:fromXScale="0" android:toXScale="1"
        android:fromYScale="0" android:toYScale="1" 
        android:duration="1000">
       
    </scale>

    新建一个LayoutAnimation,res/anim/listview_anim.xml(虽然layoutAnimation没有智能提示,但一样可以使用):

    让LayoutAnimation的Animation=listview_scale.xml

    <?xml version="1.0" encoding="utf-8"?>
    <layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" 
        android:animation="@anim/listview_scale"
        android:delay="0.5">
    </layoutAnimation>

    新建一个布局文件   main.xml,在布局 文件内添加一个ListView ,将LayoutAnimation效果 添加到ListView:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:orientation="vertical"
        tools:context=".MainActivity" >
    
        <ListView android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layoutAnimation="@anim/listview_anim">
        </ListView>
    </LinearLayout>

    在这里需要特别注意,ListView的ID必须等 于
    @android:id/list

    后台代码就很简单 了,加载Main.xml即可

    public class MainActivity extends ListActivity {
    
    	private ArrayAdapter<String> aa;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
           aa=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_activated_1
            		, new String[]{"Jack","Tom","Mali","kelusi"});
            setListAdapter(aa);
        }
    
    
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
        
    }



  • 相关阅读:
    BigBlueButton的安装
    Css学习总结(3)——CSS布局解决方案
    Git学习总结(14)——Git使用前的注意事项
    Java基础学习总结(83)——Java泛型总结
    ios-ASIHTTPRequest的Reachability可以监听网络,网络出现状况来不同的处理
    ios-ASIHTTPRequest下载与进度条以及用观察者模式来监听进度条属性
    iOS 常用英语翻译
    ZT 类模板的声明和实现是不能分离的
    ZT Shell 排序
    Java基础 之软引用、弱引用、虚引用 ·[转载]
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114787.html
Copyright © 2020-2023  润新知