http://blog.csdn.net/coolwxb/article/details/44077881


ListView 添加长度样式不固定的分割线

ListView可通过配置

android:dividerline

android:dividerHeight

来实现分割listview中item的效果,如图:

如果想跟上图一样实现这种有设计的分割线样式的时候可以使用下面的方法,这个方法也是参照StackOverFlow解决方案上的方法来实现.

创建分割线的布局文件:

list_item_divider.xml

<code class="language-xml hljs  has-numbering"><span class="hljs-pi"><?xml version="1.0" encoding="UTF-8"?></span><span class="hljs-tag"><<span class="hljs-title">inset</span> <span class="hljs-attribute">xmlns:android</span>=<span class="hljs-value">"http://schemas.android.com/apk/res/android"</span>    <span class="hljs-attribute">android:insetLeft</span>=<span class="hljs-value">"50dp"</span>    <span class="hljs-attribute">android:drawable</span>=<span class="hljs-value">"@color/grayd"</span>></span><span class="hljs-tag"></<span class="hljs-title">inset</span>></span></code><ul style="display: block;" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul>

在listview的divider属性中引用这个布局

<code class="language-xml hljs  has-numbering"> <span class="hljs-tag"><<span class="hljs-title">ListView</span>            <span class="hljs-attribute">android:id</span>=<span class="hljs-value">"@+id/gv_map_list"</span>            <span class="hljs-attribute">android:layout_width</span>=<span class="hljs-value">"match_parent"</span>            <span class="hljs-attribute">android:layout_height</span>=<span class="hljs-value">"0dp"</span>            <span class="hljs-attribute">android:layout_weight</span>=<span class="hljs-value">"1"</span>            <span class="hljs-attribute">android:background</span>=<span class="hljs-value">"@color/background"</span>            <span class="hljs-attribute">android:cacheColorHint</span>=<span class="hljs-value">"@android:color/transparent"</span>            <span class="hljs-attribute">android:padding</span>=<span class="hljs-value">"@dimen/space_12"</span>            <span class="hljs-attribute">android:scrollbars</span>=<span class="hljs-value">"none"</span>            <span class="hljs-attribute">android:divider</span>=<span class="hljs-value">"@drawable/list_item_divider"</span>            <span class="hljs-attribute">android:dividerHeight</span>=<span class="hljs-value">"@dimen/space_1"</span>           /></span></code><ul style="display: block;" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li></ul>

这样就能实现图中的效果了。

PS:

inset属性
定义嵌入的可绘制资源。它必须是根元素。
属性(ATTRIBUTES):
xmlns:android
字符串值,必须的。它定义了XML的命名空间,必须是:http://schemas.android.com/apk/res/android
android:drawable
要绘制的资源,必须的,它指向一个要嵌入的可绘制资源。
android:insetTop
尺寸值。用尺寸值或Dimension资源定义顶部的嵌入位置。
android:insetRight
尺寸值。用尺寸值或Dimension资源定义右边的嵌入位置。
android:insetBottom
尺寸值。用尺寸值或Dimension资源定义底部的嵌入位置。
android:insetLeft
尺寸值。用尺寸值或Dimension资源定义左边的嵌入位置。

<code class="language-xml hljs  has-numbering"><span class="hljs-pi"><?xml version="1.0" encoding="utf-8"?></span><span class="hljs-tag"><<span class="hljs-title">inset</span> <span class="hljs-attribute">xmlns:android</span>=<span class="hljs-value">"http://schemas.android.com/apk/res/android"</span>    <span class="hljs-attribute">android:drawable</span>=<span class="hljs-value">"@drawable/background"</span>    <span class="hljs-attribute">android:insetTop</span>=<span class="hljs-value">"10dp"</span>    <span class="hljs-attribute">android:insetLeft</span>=<span class="hljs-value">"10dp"</span>/></span></code><ul style="display: block;" class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul>

参考:

http://stackoverflow.com/questions/14054364/how-to-assign-padding-to-listview-item-divider-line
http://blog.csdn.net/think_soft/article/details/7492067


更多相关文章

  1. 基于ActionbarActivity中Actionbar自定义布局
  2. Android中使用Intent进行窗体切换,并且传值和自定义类的对象详解
  3. 使用自定义的Activity栈来管理android的Activity
  4. 自定义带百分比进度条
  5. Android(安卓)自定义View 实现手势监听,左右滑动,上下滑动
  6. 自定义圆形进度条
  7. 自定义Android系统Tab样式
  8. 主流手机分辨率尺寸
  9. 【Android】ViewFlipper的使用

随机推荐

  1. Android Camera OMXCameraAdapter.cpp初
  2. Android获取屏幕高度、标题高度、状态栏
  3. android adb启动失败问题 adb server is
  4. Android总Activity的启动模式分为四种
  5. Android学习笔记Android线程模型解析
  6. 安卓-菜单简述
  7. 关于Android的Animation使用(XML)
  8. android 资源文件命名规则 drawable mipm
  9. 什么是aidl?Android AIDL详解
  10. 在程序中用Java代码设置android:gravity,