我的Android进阶之旅------>怎样在多个LinearLayout中加入分隔线-LMLPHP

假设要适合于全部的Android版本号,能够在多个LinearLayout放置用于显示分隔线的View。

比如,放一个ImageView组件。然后将其背景设为分隔线的颜色或图像,分隔线View的定义代码例如以下:

<ImageView
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="#ffffff"
/>

效果例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="font-size:24px">

在Android3.0及以上版本号,LinearLayout支持直接显示分隔线。设置<LinearLayout>标签的android:showDividers属性能够再LinearLayout的对应位置显示分隔线。假设有多个LinearLayout,显示效果和在LinearLayout之间加分隔线是一样的。

android:showDividers属性能够设置例如以下4个值:

none:不显示分隔线;

beginning:在LinearLayout的開始处显示分隔线;

end:在Linearlayout的结尾处显示分隔线;

middle:在LinearLayout中的每两个组件间显示分隔线:

除了须要设置android:showDividers属性外,还要设置android:divider属性。该属性表示分隔线的图像,须要一个Drawable ID

android:divider="@drawable/shape"<!--切割线图片-->
android:showDividers="middle|beginning|end|none" <!--切割线位置-->

1、android:divider="@drawable/shape"

drawable能够是图片文件,也能够是xml绘制的shape。

切割线假设是图片那就直接使用图片即可,假设要使用颜色就必须使用shape来显示,直接使用颜色或Color是没实用的 

使用shape的时候要注意设置size属性不设置宽高切割线就不会显示出来,假设使用line那填充颜色仅仅能使用stroke来显示颜色

使用shape的时候一定要加入<size> 比如:

  1. <?

    xml version="1.0" encoding="utf-8"?>

  2. <shape xmlns:android="http://schemas.android.com/apk/res/android">
  3. <solid android:color="@color/account_line" />
  4. <size android:height="1px" />
  5. </shape>

2、android:showDividers = "middle|end|beginning|none"

middle 在每一项中间加入切割线

end 在总体的最后一项加入切割线

beginning 在总体的最上方加入切割线

none 无

在Java代码中能够使用以下两个方法设置android:showDividers和android:divider

linearLayout.setShowDividers:设置android:showDividers属性。

linearLayout.setDividerDrawable: 设置android:divider属性。

PS:能够參考

Android
自己定义控件 优雅实现元素间的切割线 (支持3.0下面)

地址:http://blog.csdn.net/lmj623565791/article/details/42407923



                            ====================================================================================

  作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

  转载请保留原文地址:http://blog.csdn.net/ouyang_peng

====================================================================================

我的Android进阶之旅------&amp;gt;怎样在多个LinearLayout中加入分隔线-LMLPHP

 

04-27 01:57