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


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

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

<ImageView   
        android:layout_width="fill_parent"  
        android:layout_height="1dp"  
        android:background="#ffffff"  
        />  
效果例如以下:


在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> 比如:

[java] view plaincopy
  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

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

 


原文地址:https://www.cnblogs.com/gccbuaa/p/7244385.html