xml 需要帮忙

以下是我的 xml code。我要如何写才可以把那个checkbox 移到日期和价钱(RM 5.00) 之间?我现在的是在日期下面,也就是和价钱在同一行。

图片描述

<?xml version="1.0" encoding="utf-8"?>
<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_centerVertical="true"
        android:layout_alignRight="@+id/ListDate"
        android:layout_alignEnd="@+id/ListDate"
        android:layout_marginRight="77dp"
        android:layout_marginEnd="77dp" />

    <TextView
        android:id="@+id/ListDate"
        android:text="20 Dec"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/input_register"
        android:textStyle="bold"
        android:layout_alignBottom="@+id/checkBox"
        android:layout_toRightOf="@+id/thumbnail"
        android:layout_toEndOf="@+id/thumbnail" />

    <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_below="@+id/checkBox"
        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_below="@+id/ListAmount"
        android:layout_toRightOf="@+id/thumbnail"
        android:layout_toEndOf="@+id/thumbnail" />

</RelativeLayout>

阅读 3.7k
3 个回答

你看看是不是这样,我把颜色删了,你自己加上吧:
图片描述

<?xml version="1.0" encoding="utf-8"?>
<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: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>


    <TextView
        android:id="@+id/ListDate"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toEndOf="@+id/thumbnail"
        android:layout_toRightOf="@+id/thumbnail"
        android:text="20 Dec"
        android:textStyle="bold"/>

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

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

    <LinearLayout
        android:id="@+id/ll_cb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/ListAmount"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/ListDate"
        android:gravity="center_vertical">

        <CheckBox
            android:id="@+id/checkBox"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_marginEnd="77dp"
            android:layout_marginRight="77dp"/>

    </LinearLayout>


</RelativeLayout>

没写过安卓,不过看你对齐参照的对象就不对

android:layout_alignRight="@+id/ListDate"
android:layout_alignEnd="@+id/ListDate"

你要让CHECKBOX以你截图蓝色方块的那个对象为基准来对齐。你现在是以日期元件来对齐的,肯定是被移动日期到后面了。

简单的说,布局的思路就是参照谁,哪个边,离多远。

layout_below日期,然后layout_marginTop一个负数

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题