我试图在ImageViews之间插入一条垂直线来展示流程。
这是我想要实现的目标,
这是我现在拥有的
背景
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:left="44dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/darker_gray" />
<padding android:left="1dp" />
</shape>
</item>
<item android:left="44dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/white" />
</shape>
</item>
</layer-list>
项目布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/progress_item_bg"
android:orientation="horizontal"
android:padding="10dp">
<ImageView
android:src="@drawable/circle"
android:layout_weight="20"
android:layout_width="0dp"
android:layout_height="match_parent" />
<TextView
android:id="@+id/label"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="80"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingStart="10dp"
android:text="Group" />
</LinearLayout>
有更好的方法吗?
答案 0 :(得分:1)
Is there a better way to do this
是。
您可以使用TextView包含左图像,并通过简单地使用复合drawable为自己保存每行的视图:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/progress_item_bg"
android:padding="10dp"
>
<TextView
android:id="@+id/label"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawableLeft="@drawable/circle"
android:drawablePadding="8dp"
android:gravity="center_vertical"
android:paddingLeft="10dp"
android:paddingStart="10dp"
android:text="Group"
/>
</RelativeLayout>
要设置drawable via代码,请使用setCompundDrawablesWithIntrinsicBounds():http://developer.android.com/reference/android/widget/TextView.html#setCompoundDrawablesWithIntrinsicBounds(int,int,int,int)
您可能还想在垂直线上添加一些顶部和底部边距,并使背景颜色透明,而不是白色(因此您也可以在深色容器背景颜色上使用它)。