Android 手风琴效果实现

知识为进步之母,而进步又为富强之源泉。这篇文章主要讲述Android 手风琴效果实现相关的知识,希望能为你提供帮助。
ExpandableListView  基础知识   1. ExpandableListView  的总体概述   ExpandableListView  是  android  中可以实现下拉  list  的一个控件,是一个垂直滚动的心事两个级   别列表项手风琴试图,列表项是来自  ExpandableListViewaAdapter,组可以单独展开。   ? 2.重要的方法:   expandGroup (int groupPos) ; //在分组列表视图中 展开一组,   setSelectedGroup (int groupPosition) ; //设置选择指定的组。   setSelectedChild (int groupPosition, int childPosition, boolean shouldExpandGroup);   getPackedPositionGroup (long packedPosition); //返回所选择的组   isGroupExpanded (int groupPosition); //判断此组是否展开   expandableListView.setDivider(); 这个是设定每个  Group  之间的分割线。   expandableListView.setGroupIndicator(); 这个是设定每个  Group  之前的那个图标。   expandableListView.collapseGroup(int group);   将第  group  组收起   3.  适配器的介绍   ExpandableListAdapter,一个接口,将基础数据链接到一个  ExpandableListView。 此接   口的实施将提供访问  Child  的数据(由组分类),并实例化的  Child  和  Group。适配器中常用的重   要方法:   getChildId (int groupPosition, int childPosition)  获取与在给定组给予孩子相关的数据。   getChildrenCount (int groupPosition)  返回在指定  Group  的  Child  数目   4.  属性和事件   1)  在  Android  中对子条目的点击事件是通过  onChildClick()来实现     2)  对组的点击事件是通过  onGroupClick()来实现的      Gson  框架: 它是谷歌推出的一个请求网络数据的一个框架,常用的用法如下:    1) GSON  的两个重要方法   在  GSON  的  API  中,提供了两个重要的方法:toJson()和  fromJson()方法。其中,toJson()方法   用来实现将  java  对象转换为相应的  JSON  数据,fromJson()方法则用来实现将  JSON  数据转换为   相应的  Java  对象。   2) toJson()方法,toJson()方法用于将  Java  对象转换为相应的  JSON  数据,主要有以下几种形式:    String toJson(JsonElement jsonElement);   String toJson(Object src);   String toJson(Object src, Type typeOfSrc);   其中,方法(1.1)用于将  JsonElement  对象(可以是  JsonObject、JsonArray  等)转换成  JSON   数据;方法(1.2)用于将指定的  Object  对象序列化成相应的  JSON  数据;方法(3)用于将指定   的  Object  对象(可以包括泛型类型)序列化成相应的  JSON  数据。   3) 1.2  fromJson()方法   fromJson()方法用于将  JSON  数据转换为相应的  Java  对象,主要有以下几种形式:   (1)< T> T fromJson(JsonElement json, Class< T> classOfT);   (2)< T> T fromJson(JsonElement json, Type typeOfT);   (3)< T> T fromJson(JsonReader reader, Type typeOfT);   (5)< T> T fromJson(Reader reader, Type typeOfT);   (6)< T> T fromJson(String json, Class< T> classOfT);   (7)< T> T fromJson(String json, Type typeOfT);   以上的方法用于将不同形式的  JSON  数据解析成  Java  对象。     所以说  gson  是一个很好的请求网络数据的框架,既可以在服务器端生成一个  json  字符串,然后   客户端通过发送请求向服务器端,进行数据解析。   5. Picasso  框架   这也是本课程中涉及的一个第三方的框架,它主要是用于网络请求图片时的一种框架,它的   代码量少,自带缓存,是一个值得使用的框架。首先  Picasso  也是  Afinal  这个框架的一种,   Afinal  是一个  android  的  ioc,orm  框架,内置了四大模块功能:   FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过  finalActivity,我们可以通过注解的方式进   行绑定  ui  和事件。通过  finalBitmap,我们可以方便的加载  bitmap  图片,而无需考虑  oom  等   问题。通过  finalDB  模块,我们一行代码就可以对  android  的  sqlite  数据库进行增删改查。通过   FinalHttp  模块,我们可以以  ajax  形式请求  http  数据。   


ExpandableListView和ExpandableListActivity

如何获取 ExpandableListView对象
1.可以直接在xml布局中添加 ExpandableListView 在activity中通过id绑定控件
2.activity 继承ExpandableListActivity 通过 getExpandableListView 方法获取


ExpandableListView的常用属性

android:groupIndicator="" 设置可扩展组图标提示

点击事件

//设置组点击事件 // melv.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() { @Override public boolean onGroupClick(ExpandableListView expandableListView, View view, int i, long l) { return false; } }); //设置字条目点击事件 melv.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView expandableListView, View view, int i, int i1, long l) { return false; } });

  下面进入demo环节
【Android 手风琴效果实现】1.实现手风琴效果  获取本地数据
   









    推荐阅读