Android LinearLayout线性布局分割线简化布局

2019-08-22  本文已影响0人  一只有梦想的鳄鱼

大家好,我是鳄鱼~    

这算是给自己做个笔记吧,我也很希望可以帮助到各位,如果你被我坑了或者是说踩了坑那请你不要喷我,因为你喷了我也是不会知道的。不多说先上个图

mine

通常我们开发都离不开类似的布局场景,单个Item我以我之前写过的方式举例

<LinearLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    xmlns:app="http://schemas.android.com/apk/res-auto"

    android:layout_width="match_parent"

    android:orientation="vertical"

    android:layout_height="match_parent"

    tools:context=".MainActivity">

    <!--方式1-->

    <RelativeLayout

        android:layout_width="match_parent"

        android:layout_height="50dp">

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_centerVertical="true"

            android:layout_marginLeft="15dp"

            android:gravity="center_vertical"

            android:drawablePadding="10dp"

            android:textColor="#666666"

            android:textSize="15sp"

            android:drawableLeft="@mipmap/ic_launcher"

            android:text="我的特权"/>

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"

            android:layout_marginRight="15dp"

            android:layout_centerVertical="true"

            android:gravity="center_vertical"

            android:drawableRight="@mipmap/ic_next"

            android:text="最高直降"/>

    </RelativeLayout>

    <View

        android:layout_width="match_parent"

        android:layout_height="1dp"

        android:background="#333333"

        android:layout_marginLeft="15dp"

        android:layout_marginRight="15dp"

        />

</LinearLayout>

如果明天有个需求需要我们隐藏掉其中几项或者又过了几天又叫我们把之前隐藏的放出来,手动去注视在大量布局代码中很影响可读性,如果我们可以将分割线有规律的去控制,这会给我们省去很多麻烦

LinearLayout 属性 

1.android:showDividers (beginning | middle | end)

2.android:divider (shape 资源)

3.android:dividerPadding (分割线左右间距)

属性1和2必须相结合使用,showDividers 意思是分割线需要显示什么位置对应属性分别是 开始第一项顶部,中间  结束位置最后一项底部,divider 分割线资源,指定的是一个shape资源文件,我们可以利用shape 画一个矩形来填充分割线

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

<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <solid android:color="#333333" />

    <size android:height="1dp"/>

</shape>

嘻嘻是不是就像了,哇靠这分割线好像左右是填满的我曾想shape里是绘制的矩形那我去指定shape里的间距应该可以控制吧,现实总是残酷的好像不行,LinearLayout 提供了dividerPadding 

这次完美了!

上一篇下一篇

猜你喜欢

热点阅读