Android:LayoutAnimation、布局动画

简介:

布局动画主要相关属性:

1
2
3
4
5
/*
  * 行列间的延迟
  * android:rowDelay="75%"
  * android:columnDelay="60%"
  */


模范系统范例修改,通过动画效果显示系统的应用图标:

212541905.png

212543387.png



java代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
public  class  MainActivity  extends  Activity
{
     /**
      * 行列间的延迟
      * android:rowDelay="75%"
      * android:columnDelay="60%"
      */
     @Override
     protected  void  onCreate(Bundle savedInstanceState)
     {
         super .onCreate(savedInstanceState);
                                      
         loadApps();
                                      
         setContentView(R.layout.layout_animation_6);
         GridView grid = (GridView) findViewById(R.id.grid);
         grid.setAdapter( new  AppsAdapter());
     }
                                  
     private  List<ResolveInfo> mApps;
                                  
     private  void  loadApps()
     {
         Intent mainIntent =  new  Intent(Intent.ACTION_MAIN,  null );
         mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
                                      
         mApps = getPackageManager().queryIntentActivities(mainIntent,  0 );
     }
                                  
     public  class  AppsAdapter  extends  BaseAdapter
     {
         public  View getView( int  position, View convertView, ViewGroup parent)
         {
             ImageView i =  new  ImageView(MainActivity. this );
                                          
             ResolveInfo info = mApps.get(position % mApps.size());
                                          
             i.setImageDrawable(info.activityInfo.loadIcon(getPackageManager()));
             i.setScaleType(ImageView.ScaleType.FIT_CENTER);
             final  int  w = ( int ) ( 36  * getResources().getDisplayMetrics().density +  0 .5f);
             i.setLayoutParams( new  GridView.LayoutParams(w, w));
             return  i;
         }
                                      
         public  final  int  getCount()
         {
             return  Math.min( 32 , mApps.size());
         }
                                      
         public  final  Object getItem( int  position)
         {
             return  mApps.get(position % mApps.size());
         }
                                      
         public  final  long  getItemId( int  position)
         {
             return  position;
         }
     }
}



layout属性设置:

1
2
3
4
5
6
7
8
9
10
11
<GridView xmlns:android= "http://schemas.android.com/apk/res/android"
     android:id= "@+id/grid"
     android:layout_width= "match_parent"
     android:layout_height= "match_parent"
     android:columnWidth= "60dp"
     android:gravity= "center"
     android:horizontalSpacing= "10dp"
     android:layoutAnimation= "@anim/layout_wave_scale"
     android:numColumns= "auto_fit"
     android:stretchMode= "columnWidth"
     android:verticalSpacing= "10dp"  />



布局动画layout_wave_scale设置:

1
2
3
4
5
<gridLayoutAnimation xmlns:android= "http://schemas.android.com/apk/res/android"
         android:rowDelay= "75%"
         android:columnDelay= "60%"
         android:directionPriority= "none"
         android:animation= "@anim/wave_scale"  />


wave_scale为控件动画文件。系统范例为:com.example.android.apis.view:LayoutAnimation1。






本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1226232,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
Android开发
Android梅花布局
Android梅花布局
22 1
|
2月前
|
Android开发
android 布局常见调整手段,怎样查看margin,padding等等
android 布局常见调整手段,怎样查看margin,padding等等
16 0
|
1月前
|
XML Android开发 数据格式
Android六大布局
Android六大布局
33 1
|
10天前
|
Java Android开发
Android Mediatek 延迟停止启动动画和通知SurfaceFlinger(Android正在启动)
Android Mediatek 延迟停止启动动画和通知SurfaceFlinger(Android正在启动)
12 0
|
24天前
|
XML 数据可视化 Java
Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
|
24天前
|
数据可视化 Android开发
Android布局——约束布局
Android布局——约束布局
|
24天前
|
Android开发
Android布局——帧布局、表格布局、网格布局
Android布局——帧布局、表格布局、网格布局
|
28天前
|
Java Android开发
Android开发之使用OpenGL实现翻书动画
本文讲述了如何使用OpenGL实现更平滑、逼真的电子书翻页动画,以解决传统贝塞尔曲线方法存在的卡顿和阴影问题。作者分享了一个改造后的外国代码示例,提供了从前往后和从后往前的翻页效果动图。文章附带了`GlTurnActivity`的Java代码片段,展示如何加载和显示书籍图片。完整工程代码可在作者的GitHub找到:https://github.com/aqi00/note/tree/master/ExmOpenGL。
30 1
Android开发之使用OpenGL实现翻书动画
|
4月前
|
XML 开发工具 Android开发
Android动画效果-更新中
Android动画效果-更新中
59 1
|
5月前
|
XML Android开发 数据格式
[Android]动画
[Android]动画
36 0