转自:
上图先:
之前看到过Iphone上面的一款英语学习软件,iDaily ,界面排版类似上面分listView分组,很漂亮。一直考虑Android上面如何实现该效果。折腾了一个多小时,弄出了个初始版,效果如上图。
总体思路:
1、定义两个队列,其中一个TagList放Tag即标题项,另一个列表放ItemList放Item即数据项。
2、adapter的getView中,根据当前位置,获取数据,如果存在TagList中,则加载Tag的布局文件,否则加载Item的布局文件。
3、重载adapter的isEnabled方法,sdk中的解释是:
Returns true if the item at the specified position is not a separator. (A
separator is a non-selectable, non-clickable item).
adapter中存在一个分割线,如果该位置的数据在该方法中返回false,则表明是分割线,不能选择和点击,否则返回true,属于普通数据项,可选择和点击。
示例代码:
private List<SubscribeTag> mFloatTag;
private List<SubscribeTag> mTagList;
private SubscribeTag mMyTag = new SubscribeTag("订阅的标签", "1");
private SubscribeTag mAllTag = new SubscribeTag("全部标签", "1");
mFloatTag.add(mMyTag);
mFloatTag.add(mAllTag);
@Override
public boolean isEnabled(int position) {
ains(getItem(position)))
return false;
return super.isEnabled(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
/**
* 是分组的浮动标签
*/
ains(getItem(position))){
convertView = mLayoutInflater.inflate(R.layout.flag_tag, null);
TextView textView = (TextView) convertView.findViewById(View_float_tag);
textView.setText(getItem(position).getTagName());
}
else{
convertView = newView();
fillData(position, convertView);
}
return convertView;
}
效果就如上面所示。以后有时间还可以做成类似iPhone上面的列表浮动view的效果
本文发布于:2024-02-05 01:46:28,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170721238361896.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |