我们学了那么多动画,有没有想给控件实现动画呢,这里我们利用以前学过的GridView实现相册图片
缩略的动画效果。
首先我们anim_set文件.xml定义
实现平移缩放的xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0.0" android:toXDelta="50%" android:fromYDelta="0.0" android:toYDelta="150%" android:duration="3000" /> <scale android:fromXScale="1.0" android:toXScale="0.0" android:fromYScale="1.0" android:toYScale="0.0" android:repeatCount="3" android:pivotX="50%" android:pivotY="50%" android:startOffset="100" android:duration="3000" /> </set>
然后设置layout_animation.xml
<?xml version="1.0" encoding="utf-8"?> <layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:delay="0.5" android:animationOrder="random" android:animation="@anim/anim_set"/>
接下来定义主布局函数main.xml
<RelativeLayout 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" tools:context=".LayoutDemo" > <GridView android:id="@+id/gridView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layoutAnimation="@anim/layout_animation" android:stretchMode="columnWidth" android:numColumns="3" > </GridView> </RelativeLayout>
接下来我们定义GridView适配器,我们继承BaseAdapter
public class ImageAdapter extends BaseAdapter{ private Context c; private List<Integer> list=new ArrayList<Integer>(); public ImageAdapter(Context c){ this.c=c; this.initpic(); } public int getCount() { // TODO Auto-generated method stub return list.size(); } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return list.get(arg0); } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return list.get(arg0).intValue(); } @Override public View getView(int position, View v, ViewGroup arg2) { ImageView image=new ImageView(this.c); image.setBackgroundColor(0xFF000000); image.setImageResource(list.get(position)); image.setScaleType(ImageView.ScaleType.CENTER); image.setLayoutParams(new GridView.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT)); image.setPadding(3, 3, 3, 3); return image; } public void initpic(){ Field[] fields=R.drawable.class.getDeclaredFields(); for(int i=0;i<fields.length;i++){ if(fields[i].getName().startsWith("pic")){ try { this.list.add(fields[i].getInt(R.drawable.class)); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } }
这里读取资源文件图片使用了java.lang.reflect反射机制,这是java中较为重要的章节,同学们可以自行查阅
Activity GridView绑定适配器
public class LayoutDemo extends Activity { GridView gridview; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_layout_demo); gridview=(GridView)super.findViewById(R.id.gridView); gridview.setAdapter(new ImageAdapter(this)); } }
实现效果如下
下一章我们讲ListView动画实现,大家请持续关注哦
相关推荐
在本主题中,我们将深入探讨如何创建两个可相互拖拉的自定义GridView控件,实现数据交互。 首先,了解GridView的基本用法。GridView继承自AbsListView,它会将数据集按行和列的形式进行排列。默认情况下,GridView...
总之,这个压缩包提供了具有拖动排序和删除动画的自定义GridView实现,对于想要在Android应用中实现此类功能的开发者来说,是一个有价值的参考资料。通过研究和理解这个控件的实现,开发者可以学习到自定义控件、...
在这个"android gridview中item的拖动及动画实现demo"中,我们将深入探讨如何在GridView中实现物品的拖动功能以及伴随的动画效果。这个过程涉及到对GridView的重写以及关键动画的实现,下面将详细讲解这两个核心部分...
"android 控件动画"这一主题涵盖了如何在Android应用中为UI控件添加动态效果,使界面更加生动和吸引人。本示例(AndroidDemo_027)主要展示了列表的浮现和图像的浮现、渐隐等效果。下面将详细探讨这些知识点: 1. *...
这个"安卓Android源码——gridview分页效果.rar"文件很可能是包含了一个实现GridView分页效果的示例项目。分页在大数据量展示时尤为重要,因为它提高了用户体验,避免一次性加载大量数据导致应用性能下降或内存溢出...
同时,对于列表(ListView)和网格(GridView),可以使用动画库,如`androidx.recyclerview.widget.RecyclerView`的Item动画,使得数据项的插入、删除或移动更具动态性。 除了基本的动画,Android还提供了Transition...
在Android开发中,GridView是一个非常常用的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似照片墙、应用列表等布局。本教程将深入探讨Android中的GridView控件,帮助开发者更好地理解和运用这一功能。...
总的来说,这个项目提供了一个自定义的Android控件,它增强了GridView的交互性,使其具有更丰富的用户操作体验,是Android UI定制开发的一个实例。对于想要学习Android自定义控件、事件处理和动画效果的开发者来说,...
在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似照片墙、菜单选项或图标排列等界面。在本教程中,我们将深入探讨如何实现一个基本的GridView视图,并通过...
在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似相册、应用列表等场景。本教程将详细讲解如何实现GridView的分页和滑动效果。 首先,我们需要了解GridView...
在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。这个主题“android漂亮的gridview美化样式”主要关注如何让GridView在视觉上更具吸引力,提高用户体验。通常,我们可以通过自定义...
在这种情况下,"ios 自定义表格控件 gridview" 提供了一种解决方案,特别是对于那些希望实现类似网格布局,同时支持首列固定和左右滑动效果的应用。这种自定义表格控件通常被称为GridView,它在iPhone平台上特别有用...
这个“功能强大自定义GridView控件全源码”很显然是一个专为Android开发者设计的开源项目,旨在提供一种更加灵活、可定制化的GridView实现,以满足各种复杂的界面需求。 GridView的基本用法是通过继承自Android内置...
在这个项目中,我们讨论的是如何结合使用ScrollView和GridView实现左右滑动,并在启动时或点击按钮时自动定位到指定项。 首先,让我们深入理解ScrollView。ScrollView是Android中的一个可滚动视图,它可以包裹任何...
总的来说,“精致的GridView控件源码”可能包含了一些优化过的Adapter实现,改进的滚动效果,自定义的动画,或者对性能进行了优化。通过深入研究这些源码,开发者不仅可以学习到如何提升GridView的使用体验,还能...
然而,原生的GridView并不支持拖动排序和自定义动画,所以开发者需要自定义一个继承自GridView的类,重写其中的关键方法以实现这些功能。 1. **拖动排序**:为了实现拖动排序,你需要监听用户的触摸事件,当用户...
在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。这个"AndroidGridView点击每一个图片进入个人页面渐变特效.zip"压缩包包含的资源可能是一个示例项目,展示了如何在GridView中实现...
总结起来,实现"android左右滑动GridView"需要自定义控件、处理滑动事件、设置适配器和优化性能等多个环节。通过这些技术,我们可以创建出具有类似手机桌面launcher效果的GridView,提供更丰富的用户体验。在实际...
在本示例中,"android ViewFlipper + Gridview 实现网格视图由上向下自动滑动效果"的目标是构建一个动态的、自滚动的网格视图,这种效果常见于广告轮播或者产品展示等场景。 ViewFlipper是Android SDK提供的一种...