知识为进步之母,而进步又为富强之源泉。这篇文章主要讲述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.实现手风琴效果 获取本地数据
推荐阅读
- 用命令方式启动停止appium服务和app
- Appium 的安装
- android 换行符() 在TextView中显示不正常的问题
- Vpay系统app制作开发
- Android_(游戏)打飞机06(后续)
- Android_(游戏)打飞机05(处理子弹,击中敌机,添加计分板)
- 安卓H5软键盘遮挡输入框
- POJ2486 Apple Tree 树上背包
- Android_(游戏)打飞机04(绘画敌机添加子弹)