zoukankan      html  css  js  c++  java
  • 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;
        }
        
    }



  • 相关阅读:
    02-线性结构1 两个有序链表序列的合并
    ScSPM
    中国大学MOOC-陈越、何钦铭-数据结构-笔记
    01-复杂度1 最大子列和问题(剑指offer和PAT)
    Matlab中配置VLFeat
    循环队列实现
    对于利用pca 和 cca 进行fmri激活区识别的理解
    对于利用ica进行fmri激活区识别的理解
    利用spm提供的MoAEpilot听觉数据学习预处理以及单被试glm分析与统计推断
    fsl的feat软件分包使用笔记
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5114787.html
Copyright © 2011-2022 走看看