2017-01-09 78 views
0

之間如何在描述和價格之間移動複選框?將複選框移動到兩個textView

我的期望輸出應該看起來像下面

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> 

如何在兩個textView, 之間移動checkbox描述和數量?非常感謝。

回答

0

查看Android的新ConstraintLayout。

這對您的問題要容易得多。

ConstraintLayout

您也可以找到關於youtube

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",將中心在父元素。在這種情況下,這是一個非常有用的幫助。

+0

謝謝,但如何對我的'date'? –

+0

因爲根容器是RelativeLayout,所以對於你的日期元素,你可以使用屬性layout_below =「someId」和layout_alignParentRight =「true」 – miskohut

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>