(源码)自己写的ScrollView里套漂亮的圆角listview(算是漂亮吧。。。)



找了相关的资料终于写完了:
http://blog.csdn.net/jamin0107/article/details/6973845
和
http://emmet1988.iteye.com/blog/1097443
原来在scrollview中套listview需要将listview的高度固定
,这里就需要将listview的子类高度计算
同时还要注意子ListView的每个Item必须是LinearLayout
“引用连接中的话”------------------------------------------------------
只要在设置ListView的Adapter后调用此静态方法即可让ListView正确的显示在其父ListView的ListItem中。但是要注意的是,子ListView的每个Item必须是LinearLayout,不能是其他的,因为其他的Layout(如RelativeLayout)没有重写onMeasure(),所以会在onMeasure()时抛出异常。
在ScrollView中嵌套ListView(或者ScrollView)的另外一个问题就是,子ScrollView中无法滑动的(如果它没有显示完全的话),因为滑动事件会被父ScrollView吃掉,如果想要让子ScrollView也可以滑动,只能强行截取滑动事件,有牛人在论坛中发过代码说可以。虽然我没有亲自试过,但估计是可行的。
-------------------------------------------------------------
- 在listview.setAdapter()之后调用Utility.setListViewHeightBasedOnChilren(listview)就Okay 了。
- public class Utility {
- public static void setListViewHeightBasedOnChildren(ListView listView) {
- //获取ListView对应的Adapter
- ListAdapter listAdapter = listView.getAdapter();
- if (listAdapter == null) {
- // pre-condition
- return;
- }
- ;
- , len = listAdapter.getCount(); i < len; i++) { //listAdapter.getCount()返回数据项的数目
- View listItem = listAdapter.getView(i, null, listView);
- ); //计算子项View 的宽高
- totalHeight += listItem.getMeasuredHeight(); //统计所有子项的总高度
- }
- ViewGroup.LayoutParams params = listView.getLayoutParams();
- ));
- //listView.getDividerHeight()获取子项间分隔符占用的高度
- //params.height最后得到整个ListView完整显示需要的高度
- listView.setLayoutParams(params);
- }
- }
- Listview其他属性
- .去滑动到顶点和底边时的黑色阴影
- [html] view plaincopy
- android:fadingEdge="none"
- .去拖动时默认黑色底色
- [html] view plaincopy
- ”
- .去选中时的黄色底色
- [html] view plaincopy
- android:listSelector="#00000000"
- <ListView
- android:id="@+id/roundlistview01" android:layout_width="fill_parent"
- android:layout_height="wrap_content" android:background="@drawable/shape"
- android:cacheColorHint="#00000000" android:drawSelectorOnTop="false"
- android:fadingEdge="none" android:listSelector="#00000000"
- android:layout_marginLeft="10dip" android:layout_marginRight="10dip">
- </ListView>
圆角android:background="@drawable/shape":
shape.xml
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- 实心 透明色
- <solid android:color="#FFFFFF"/>
- -->
- <gradient android:startColor="#F0F0F0"
- android:endColor="#F0F0F0"
- android:angle="90" />
- <stroke
- android:width="2dp"
- android:color="#6C6C6C" />
- <corners
- android:radius="10dip" />
- <padding
- android:left="0dp"
- android:top="0dp"
- android:right="0dp"
- android:bottom="0dp" />
- </shape>
源代码:下载地址1:http://dl.iteye.com/topics/download/8bb55721-9bda-3271-ac3d-576a78e22624
(源码)自己写的ScrollView里套漂亮的圆角listview(算是漂亮吧。。。)的更多相关文章
- (https专业版)2018年1月5日高仿互站仿友价T5虚拟交易+实物交易商城-站长交易源码送手机版程序10套模版+首页微信登陆+头部下拉导航
(https专业版)2018年1月5日高仿互站仿友价T5虚拟交易+实物交易商城-站长交易源码送手机版程序10套模版+首页微信登陆+头部下拉导航 首页支持微信登陆,只有第8套模板支持(endv模板),后 ...
- 【commons-pool2源码】写前思考
写作的初衷 工作4年多, 一直没有系统的阅读过优秀的开源代码, 所以从今年开始做一些尝试, 阅读源码并且试着将自己的理解以文章的形式输出, 从而达到以下目的: 通过阅读源码提升自身的技术水准, 通过写 ...
- 史上最完整promise源码手写实现
史上最完整的promise源码实现,哈哈,之所以用这个标题,是因为开始用的标题<手写promise源码>不被收录 promise自我介绍 promise : "君子一诺千金,承诺 ...
- 开源电影项目源码案例重磅分析,一套代码发布小程序、APP平台多个平台
uni-app-Video GitHub地址:https://github.com/Tzlibai/uni-app-video 一个优秀的uni-app案例,旨在帮助大家更快的上手uni-app,共同 ...
- 看源码和写demo是一种比较容易提升的方式
github就是要这么用才行.看别人的源码,就能了解到很多规范,而写demo,就是自己写出自己的代码.莫欺少年穷
- nginx源码分析:打开监听套接字的流程
问题源于在分析nginx的源码时,找了半天没有找到nginx是怎么把监听套接字读事件添加到事件循环中的,后经过仔细的分析,终于搞明白,于是记录一下. 在上一篇module机制中介绍了nginx添加mo ...
- spring源码分析-core.io包里面的类
前些日子看<深入理解javaweb开发>时,看到第一章java的io流,发觉自己对io流真的不是很熟悉.然后看了下JDK1.7中io包的一点点代码,又看了org.springframewo ...
- 逐行剖析Vue源码(一)——写在最前面
1. 前言 博主作为一名前端开发,日常开发的技术栈是Vue,并且用Vue开发也有一年多了,对其用法也较为熟练了,但是对各种用法和各种api使用都是只知其然而不知其所以然,因此,有时候在排查bug的时候 ...
- 快餐店运行模拟C++程序源码代写
某快餐店供应若干种快餐和饮料(5种以上),早晨6:00开始营业,晚上11:00打烊.前一天已经安排了若干工人上班,快餐店的用餐位是固定的,每种食物的成本和销售价格是确定的,每种食物的总量是确定的,储存 ...
随机推荐
- 整合 Bing translator 到自己的系统中
整合这个功能, 是因为 aliexpress 的买家来自不同国家, 我的 "小卖家" 同步到买家的留言, 很多西班牙,俄罗斯等小语种的文字, 看不懂. Google 被墙, 基本很 ...
- [bzoj1296][SCOI2009]粉刷匠(泛化背包)
http://www.lydsy.com:808/JudgeOnline/problem.php?id=1296 分析: 首先预处理出每一行的g[0..T]表示这一行刷0..T次,最多得到的正确格子数 ...
- [bzoj 1911][Apio 2010]特别行动队(斜率优化DP)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1911 分析: 首先可以的到裸的方程f[i]=max{f[j]+a*(Si-Sj)^2+b*(S ...
- Flex ObjectHandles 构建绘图程序!
模型 主画布组件:com/components/graph/GraphContainer.mxml <?xml version="1.0" encoding="ut ...
- Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs
目录 前言 Express简介和安装 运行第一个基于express框架的Web 模版引擎 ejs express项目结构 express项目分析 app.set(name,value) app.use ...
- 解决 SQL Server Profiler 跟踪[不断]出现检索数据
问题简单回顾: 当我们使用SQL Server Profiler根据数据时,有时刚打开什么也没干呢,就显示很多数据了,当我们用橡皮擦清除,没过两秒就又有了,如图: 是不是很恼火!~不怕,解决方案如下: ...
- Codeforces Round #379 (Div. 2) D. Anton and Chess 模拟
题目链接: http://codeforces.com/contest/734/problem/D D. Anton and Chess time limit per test4 secondsmem ...
- javascript 漏洞
1.javascript语言中,每一个对象都有一个对应的原型对象,称为prototype对象. 继承是基于原型的! 2.prototype对象的作用,就是定义所有实例对象共享的属性和方法! 3.“原 ...
- CSS和字符串实现三角形
听说是百度校招的题目,就写了一下 <!doctype html> <html> <head> <meta charset="utf-8"& ...
- C++ STL初学笔记
C++ STL初学笔记 更系统的版本见徐本柱的PPT set 在这儿:http://www.cnblogs.com/pdev/p/4035020.html #include <vector&g ...