一、问题
点击文章列表进入文章详情后,判断用户是否开通会员。如果用户未开通会员,则用户只能浏览文章到屏幕高度的3/2,且当用户浏览文章到屏幕高度的3/2时提示用户购买会员。如果用户开通会员则可以正常浏览全文不提示用户开通会员。
二、思路
在Layout中使用ListView,购物车 支付View显示在ListView下方。ListView的Item布局中放入WebView和开通会员的渐变背景的View且设置默认显示效果为隐藏且位于布局最下方。为了实现设计稿效果在ListView上增加头布局。这样我们只需要创建数据集合里面只放入文章详情数据和是否用户为会员的状态。在ListView适配器中根据用户状态来显示/隐藏开通会员的渐变背景的View,以及改变ListView的滑动高度。
三、实现
1:ListView增加头布局
View headView = getLayoutInflater().inflate(R.layout.listview_header, null);
mListView.addHeaderView(headView);
2:ListView设置滑动高度
AbsListView.LayoutParams param =new AbsListView.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,2500);
convertView.setLayoutParams(param);
3:获取WebView高度
ViewGroup.LayoutParams layoutParams = holder.webView.getLayoutParams();
int height = layoutParams.height;
4:设置点击开通按钮渐变
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
android:angle="90"
android:endColor="#00000000"
android:startColor="#FFE6DDDD"
android:type="linear"/>
</shape>
5:在适配器中将点击开通事件回调给Activity进行弹出Dialog
四、安装包
链接: https://pan.baidu.com/s/1dvQ4Q4lLJefI4U9lZXMeiw 提取码: r8wg
网友评论