移动两个textView之间的复选框

时间:2017-01-09 17:54:16

标签: android xml listview checkbox

如何在描述和价格之间移动checkBox?

我想要的输出应该如下图所示

enter image description here

但我只能这样做

enter image description here

我的xml代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="5dip">

    <LinearLayout
        android:id="@+id/thumbnail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dip"
        android:orientation="vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

        <ImageView
            android:id="@+id/photo"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:scaleType="centerCrop"
            android:layout_gravity="center"/>
    </LinearLayout>

    <CheckBox
        android:id="@+id/checkBox"
        android:paddingTop="15dp"
        android:paddingRight="25dp"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:button="@drawable/xml_button"
        android:background="@drawable/xml_background"
        android:layout_alignBottom="@+id/ListAmount"
        android:layout_alignLeft="@+id/ListDate"
        android:layout_alignStart="@+id/ListDate" />

    <TextView
        android:id="@+id/ListDate"
        android:text="20 Dec"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:textColor="@color/input_register"
        android:textStyle="bold"
        android:layout_marginRight="40dp"
        android:layout_marginEnd="40dp"
        android:layout_alignBottom="@+id/thumbnail"
        android:layout_alignRight="@+id/ListAmount"
        android:layout_alignEnd="@+id/ListAmount" />

    <TextView
        android:id="@+id/ListAmount"
        android:text="RM 5.00"
        android:textSize="20sp"
        android:textColor="@color/violetred"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/ListDate"
        android:layout_toRightOf="@+id/thumbnail"
        android:layout_toEndOf="@+id/thumbnail" />

    <TextView
        android:id="@+id/ListDescription"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:textSize="20sp"
        android:text="Description"
        android:ellipsize="end"
        android:layout_alignTop="@+id/thumbnail"
        android:layout_toRightOf="@+id/thumbnail"
        android:layout_toEndOf="@+id/thumbnail" />

</RelativeLayout>
  

如何在checkbox之间移动textView,   描述和金额?非常感谢。

3 个答案:

答案 0 :(得分:1)

您应将DescriptionAmountCheckBoxRelativeLayout包围。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/image"
        android:layout_width="100dp"
        android:layout_height="100dp"/>

    <RelativeLayout
        android:layout_toRightOf="@id/image"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:paddingLeft="15dp"
        android:paddingTop="15dp"

        android:textSize="20sp"
        android:text="Description"/>

    <TextView
        android:id="@+id/amount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_below="@id/description"
        android:paddingLeft="15dp"
        android:paddingTop="15dp"

        android:textSize="20sp"
        android:text="Amount"/>

        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"/>

    </RelativeLayout>

</RelativeLayout>

使用RelativeLayout您可以访问to_RightOfto_LeftOf和其他许多人,但在这种情况下,最重要的一个是android:layout_centerVertical="true",它会将元素置于其中家长。在这种情况下,这是一个非常有用的帮助。

答案 1 :(得分:0)

查看适用于Android的新ConstraintLayout。

你的问题要容易得多。

ConstraintLayout

您还可以在youtube

上找到简短的介绍

答案 2 :(得分:0)

这个会奏效      

    <LinearLayout
        android:id="@+id/thumbnail"
        android:layout_width="wrap_content"
        android:layout_height="80dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:orientation="vertical"
        android:padding="3dip" >

    <ImageView
        android:id="@+id/photo"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_gravity="center"
        android:scaleType="centerCrop" />
</LinearLayout>

<CheckBox
    android:id="@+id/checkBox"
    android:layout_width="30dp"
    android:layout_height="30dp"
    android:layout_below="@+id/ListDescription"
    android:layout_centerInParent="true"
    android:background="@drawable/xml_background"
    android:button="@drawable/xml_button"
    android:paddingRight="25dp" />

<TextView
    android:id="@+id/ListAmount"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/ListDate"
    android:layout_below="@+id/checkBox"
    android:layout_marginTop="30dp"
    android:layout_toEndOf="@+id/thumbnail"
    android:layout_toRightOf="@+id/thumbnail"
    android:text="RM 5.00"
    android:textColor="@color/violetred"
    android:textSize="20sp"
    android:visibility="gone" />

<TextView
    android:id="@+id/ListDescription"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/thumbnail"
    android:layout_toEndOf="@+id/thumbnail"
    android:layout_toRightOf="@+id/thumbnail"
    android:ellipsize="end"
    android:singleLine="true"
    android:text="Description"
    android:textSize="20sp" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/checkBox"
    android:layout_below="@+id/checkBox"
    android:padding="10dp"
    android:text="TextView" />

<TextView
    android:id="@+id/ListDate"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/ListAmount"
    android:layout_alignRight="@+id/ListDescription"
    android:layout_below="@+id/textView1"
    android:layout_marginEnd="40dp"
    android:layout_marginRight="18dp"
    android:text="20 Dec"
    android:textColor="@color/input_register"
    android:textStyle="bold" />

</RelativeLayout>