LinearLayoutCompat添加分割线divider

LinearLayoutCompat添加分割线divider,第1张

LinearLayoutCompat 支持 LinearLayout的常用用法,可参考: Android Material Design :LinearLayoutCompat添加分割线divider

重点: 虽然定义的是 分割线 ,但设置 line.setShape(GradientDrawable.LINE) 将导致颜色不生效。

Android Material Design :LinearLayoutCompat添加分割线divider

Android GradientDrawable动态设置背景

方法一也是我们常用的方法,可以在按钮间添加作为分割线的View,设定好View的宽度高度和颜色值后插入按钮的布局间。

View的样式如下:

<View

android:layout_height="fill_parent"

android:layout_width="1dp"

android:background="#90909090"

android:layout_marginBottom="5dp"

android:layout_marginTop="5dp"

/>

相应的布局如下:

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:adjustViewBounds="true"

android:orientation="horizontal">

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

style="?android:attr/buttonBarButtonStyle"

android:text="Yes"

android:layout_weight="1"

android:id="@+id/button1"

android:textColor="#00b0e4" />

<View android:layout_height="fill_parent"

android:layout_width="1px"

android:background="#90909090"

android:layout_marginBottom="5dp"

android:layout_marginTop="5dp"

android:id="@+id/separator1" />

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

style="?android:attr/buttonBarButtonStyle"

android:text="No"

android:layout_weight="1"

android:id="@+id/button2"

android:textColor="#00b0e4" />

<View android:layout_height="fill_parent"

android:layout_width="1px"

android:background="#90909090"

android:layout_marginBottom="5dp"

android:layout_marginTop="5dp"

android:id="@+id/separator2" />

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

style="?android:attr/buttonBarButtonStyle"

android:text="Neutral"

android:layout_weight="1"

android:id="@+id/button3"

android:textColor="#00b0e4" /></LinearLayout>

方法二

通过LinearLayout指定的divider的属性来插入分隔符,类似于Listview的效果。这种方法的好处在于缩减布局代码量,同时在button数量未知的情况下能更方便的进行显示。但是这种方法只适用API版本11以上的机型。

使用方法也很简单,先创建分隔线的样式文件

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android">

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

<solid android:color="#90909090" /></shape>

再在布局文件中引用

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:adjustViewBounds="true"

android:divider="@drawable/separator"

android:showDividers="middle"

android:orientation="horizontal">

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

style="?android:attr/buttonBarButtonStyle"

android:text="Yes"

android:layout_weight="1"

android:id="@+id/button1"

android:textColor="#00b0e4" />

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

style="?android:attr/buttonBarButtonStyle"

android:text="No"

android:layout_weight="1"

android:id="@+id/button2"

android:textColor="#00b0e4" />

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

style="?android:attr/buttonBarButtonStyle"

android:text="Neutral"

android:layout_weight="1"

android:id="@+id/button3"

android:textColor="#00b0e4" /></LinearLayout>

最主要的代码如下

android:divider="@drawable/separator"

android:showDividers="middle"

当然分隔线的样式也可以用图片来替代,这就看项目的需求了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11930181.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存