QMUI之QMUIGroupListView使用
2019-03-26 本文已影响0人
ratil_
通用的列表,常用于 App 的设置界面,其父类不是 ListView 而是 LinearLayout,所以一般要配合 ScrollView 使用。提供了 Section 的概念,用来将列表分块。配合 QMUIGroupListView.Section, QMUICommonListItemView 和 QMUIGroupListSectionHeaderFooterView 使用。
下面是QMUIListView 中的一些常用方法,以供使用:
(注:从 QMUIGroupListView Github 转载,只是把所有方法集合,方便学习和使用 官网链接)
QMUIGroupListView groupListView = new QMUIGroupListView(context);
//QMUIGroupListView的方法:
//一般使用的构造函数
public QMUIGroupListView(Context context);
//创建一个 section
public static Section newSection(Context context) ;
/**
* 设置分割线风格,具体风格可以在 {@link SeparatorStyle} 中选择。
* @param separatorStyle {SEPARATOR_STYLE_NORMAL} 或 {SEPARATOR_STYLE_NONE} 其中一个值。
*/
public void setSeparatorStyle(@SeparatorStyle int separatorStyle) ;
public int getSectionCount();
/**
* createItmeView 有多个重载方法,
*
* @param imageDrawable 列前面显示一张图片
* @param titleText 主要的文字
* @param detailText 次要的文字
* @param orientation 次要的文字现在在下方还是右方
* @param accessoryType 右边显示的图标, 属于QMUICommonListItemView的内容
* 使用为QMUICommonListItemView.ACCESSORY_TYOE_NONE
* 右侧不显示任何东西
* public final static int ACCESSORY_TYPE_NONE = 0;
* 右侧显示一个箭头
* public final static int ACCESSORY_TYPE_CHEVRON = 1;
* 右侧显示一个开关
* public final static int ACCESSORY_TYPE_SWITCH = 2;
* 自定义右侧显示的 View
* public final static int ACCESSORY_TYPE_CUSTOM = 3;
* @param height 列表高度
* /;
public QMUICommonListItemView createItemView(Drawable imageDrawable, CharSequence titleText, String detailText, int orientation, int accessoryType, int height);
public QMUICommonListItemView createItemView(Drawable imageDrawable, CharSequence titleText, String detailText, int orientation, int accessoryType);
public QMUICommonListItemView createItemView(CharSequence titleText);
public QMUICommonListItemView createItemView(int orientation);
/**
* 一个添加一个移除
* private, use {@link Section#addTo(QMUIGroupListView)}
* private,use {@link Section#removeFrom(QMUIGroupListView)}
* <p>这里只是把section记录到数组里面而已</p>
* <p>这里只是把section从记录的数组里移除而已</p>
*/
private void addSection(Section section);
private void removeSection(Section section);
public Section getSection(int index);
下面是QMUIGroupListView的内部类Section,
一般使用方法:
QMUIListView.Setion setion = QMUIListView.newSetion(context);
setion.setTitle("Setion");
setion.addTo(groupListView);
或者
QMUIListView.newSetion(context)
.setTitle("Setion")
.addTo(groupListView);
//一个构造方法
public Section(Context context);
/**
* 对 Section 添加一个 {@link QMUICommonListItemView}, 多个重载方法,将item添加进section
*
* @param itemView 要添加的 ItemView
* @param onClickListener ItemView 的点击事件
* @param onLongClickListener ItemView 的长按事件
* @return Section 本身, 支持链式调用
*/
public Section addItemView(final QMUICommonListItemView itemView, OnClickListener onClickListener, OnLongClickListener onLongClickListener) ;
public Section addItemView(QMUICommonListItemView itemView, OnClickListener onClickListener);
// 设置 Section 的 description ,setion最底部显示的内容
public Section setDescription(CharSequence description);
//如果没有标题是否设置setion 默认标题
public Section setUseDefaultTitleIfNone(boolean useDefaultTitleIfNone)
//这个.....emmmmm......不知道干嘛的
public Section setUseTitleViewForSectionSpace(boolean useTitleViewForSectionSpace)
// 设置分割线样式
public Section setSeparatorDrawableRes(int single, int top, int bottom, int middle) ;
public Section setSeparatorDrawableRes(int middle);
// emm....大概是设置左边图标大小吧
public Section setLeftIconSize(int width, int height)
//将setion 添加到 groupListView
public void addTo(QMUIGroupListView groupListView);
// emmm.....大概是从parent 移除setion吧
public void removeFrom(QMUIGroupListView parent);
/**
* 创建 Section Header,每个 Section 都会被创建一个 Header,
* 有 title 时会显示 title,没有 title 时会利用 header 的上下 padding 充当 Section 分隔条
*/
public QMUIGroupListSectionHeaderFooterView createSectionHeader(CharSequence titleText);
/**
* Section 的 Footer,形式与 Header 相似,都是显示一段文字
*/
public QMUIGroupListSectionHeaderFooterView createSectionFooter(CharSequence text)
转载自我的CSDN博客