Android基础——5:ListView及RecyclerView

标题

4.1.4 取消ListView的Item点击效果

android:listSelector="#00000000"

4.1.5 设置ListView需要显示在第几项
瞬间的滑动到第几项
listview.setSelection(N);

自然的滑动到第几项

listview.smoothScrollBy(distance,duration);
listview.smoothScrollByOffset(offset);
listview.smoothScrollToPosition(index);

4.1.6 动态修改ListView

4.1.9 ListView滑动监听
未来更精确地监听滑动事件,开发者通常需要使用GestureDetector手势识别、VelocityTracker滑动速度检测等辅助完成更好的监听。此处介绍两种ListView滑动事件的监听方法:1,OnTouchListener; 2,OnScrollListener。

OnScrollListener是AbsListView中的监听事件。
onScrollStateChanged()方法,当用户没有做手指抛动的状态时,这个方法只会回调2次,否则回调3次,差别在手指抛动的这个状态。常在此方法中通过不同状态设置一些标志Flag,来区分不同的滑动状态,供其他方法处理。

onScroll参数中当前能看见的item数,包括没有显示完整的item。

4.2.1具有弹性的
主要是使用ListView中一个控制滑动到边缘的处理方法:overScrollBy();

4.2.2自动显示、隐藏布局的ListView
思路:通过监听ListView的滑动,通过判定滑动方向,判断是需要显示或隐藏对应布局。
注意:1,添加HeaderView,避免第一个Item被Toolbar遮挡。2,获取ActionBar的高度,

getResources().getDimension(android.support.v7.appcompat.R.dimen.abc_action_bar_default_height_material))

3,定义 myTouchSlop变量获取系统认为的最低滑动距离(超过此距离,系统将其定义为滑动状态了)

mTouchSlop = ViewConfiguration.get(this).getScaledTouchSlop();

PS: 使用ActionBar,theme一定是要NoActionBar的,不然会引起冲突。并且要引入编译库:compile 'com.android.support:appcompat-v7:21.0.3'

4.2.3 聊天ListView
getItemViewType(int position)用来返回 position个item是何种类型,而getViewTypeCount()方法返回不同布局的总数。(例如:聊天的为2)。

4.2.4 动态改变ListView布局
此效果有两种方法:1, 这两种布局写一起,通过控制显示、隐藏来实现切换效果;2,在getView()时,通过判断选择加载不同布局。

标题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值