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博客

上一篇 下一篇

猜你喜欢

热点阅读