我正在尝试使用XML来生成看起来像这样的UI。
蓝色勾选按钮和TextView与垂直放置的LinearLayout对齐,因此在相对布局中总共有3个LinearLayout。 现在我需要在每个勾选按钮之间添加一条线,其中的对齐方式就是这样。
图片看起来像这样:
我要用什么布局来实现这个目标?
这是我目前的代码:(解决方案)
我已根据@Piyush Gupta提供的解决方案修改了我的解决方案!感谢大家的帮助!
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="20dp" >
<LinearLayout
android:id="@+id/linearlayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="3" >
<ImageButton
android:id="@+id/button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/button" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_weight="1"
android:background="#000"
android:src="@android:color/transparent" />
<ImageButton
android:id="@+id/button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/button" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_weight="1"
android:background="#000"
android:src="@android:color/transparent" />
<ImageButton
android:id="@+id/button03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/button" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearlayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/linearlayout1"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:gravity="left"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:gravity="center"
android:text="TextView" />
<TextView
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:gravity="right"
android:text="TextView" />
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:1)
使用这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/custom_toast_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F14E23"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/ic_launcher" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#000"
android:src="@android:color/transparent" />
<ImageButton
android:id="@+id/button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/ic_launcher" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="1dp"
android:layout_gravity="center"
android:background="#000"
android:src="@android:color/transparent" />
<ImageButton
android:id="@+id/button03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/ic_launcher" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/textView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:gravity="center"
android:text="TextView" />
<TextView
android:id="@+id/textView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:gravity="center"
android:text="TextView" />
<TextView
android:id="@+id/textView3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:gravity="center"
android:text="TextView" />
</LinearLayout>
</LinearLayout>
答案 1 :(得分:1)
使用以下代码替换您的xml。你可以根据自己的要求调整重量。
<LinearLayout
android:id="@+id/ll1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:weightSum="10"
android:orientation="horizontal" >
<ImageButton
android:id="@+id/button01"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:background="@android:color/transparent"
android:src="@drawable/ic_add" />
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:layout_weight="2"
android:background="@android:color/black" />
<ImageButton
android:id="@+id/button02"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:background="@android:color/transparent"
android:src="@drawable/ic_add" />
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_gravity="center"
android:layout_weight="2"
android:background="@android:color/black" />
<ImageButton
android:id="@+id/button03"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:background="@android:color/transparent"
android:src="@drawable/ic_add" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:weightSum="10"
android:orientation="horizontal" >
<TextView
android:id="@+id/TextView01"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_weight="2"
android:text="TextView" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2" />
<TextView
android:id="@+id/TextView02"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_weight="2"
android:text="TextView" />
<View
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2" />
<TextView
android:id="@+id/TextView03"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_weight="2"
android:text="TextView" />
</LinearLayout>
希望它会对你有所帮助。
答案 2 :(得分:0)
您可以使用视图来显示此类线条。显示线性布局之间的视图并使用android:layout_toRightOf=""
属性来保持布局有条理。
<View android:layout_width="fill_parent"
android:background="@color/black"
android:layout_height="1dip" />
答案 3 :(得分:0)
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_margin="20dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<ImageButton
android:id="@+id/button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:src="@drawable/button" />
<View android:layout_width="60dp"
android:background="@color/black"
android:layout_height="1dip"
android:layout_gravity="center_vertical"
/>
</LinearLayout>
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerHorizontal="true" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<View android:layout_width="60dp"
android:background="@color/black"
android:layout_height="1dip"
android:layout_gravity="center_vertical"
/>
<ImageButton
android:id="@+id/button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@android:color/transparent"
android:src="@drawable/button" />
<View android:layout_width="60dp"
android:background="@color/black"
android:layout_height="1dip"
android:layout_gravity="center_vertical"
/>
</LinearLayout>
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:orientation="vertical" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<View android:layout_width="60dp"
android:background="@color/black"
android:layout_height="1dip"
android:layout_gravity="center_vertical"
/>
<ImageButton
android:id="@+id/button03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@android:color/transparent"
android:src="@drawable/button" />
</LinearLayout>
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
</RelativeLayout>
答案 4 :(得分:0)
根据您的要求,在您需要的地方尝试xml文件中的下述代码。这将为你创造一条线。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginBottom="2dp"
android:background="@color/black" >
</LinearLayout>
希望U可以管理线性布局“重量”选项。