簡體   English   中英

如何將此EditText放置在LinearLayout的右側?

[英]How to put this EditText on the right in a LinearLayout?

我創建了這種形式:

在此處輸入圖片說明

編寫此XML布局:

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

    <LinearLayout
        android:id="@+id/fields"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp">

        <LinearLayout
            android:id="@+id/layoutCountry"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/textCountry"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="18sp"
                android:text="@string/text_country"
                android:textColor="@color/black" />

            <Spinner
                android:id="@+id/spinnerCountry"
                android:layout_height="wrap_content"
                android:layout_width="0dp"
                android:layout_weight="1.5"
                android:textSize="18sp"
                android:inputType="text"
                android:textColor="@color/black" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <EditText
                android:id="@+id/editCustom"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="18sp"
                android:inputType="text"
                android:textColor="@color/black" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/city"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="18sp"
                android:text="@string/text_city"
                android:textColor="@color/black" />

            <EditText
                android:id="@+id/editCity"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1.5"
                android:textSize="18sp"
                android:inputType="text"
                android:textColor="@color/black" />
         </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/postal"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="18sp"
                android:text="@string/text_postal"
                android:textColor="@color/black" />

            <EditText
                android:id="@+id/editPostal"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1.5"
                android:textSize="18sp"
                android:inputType="text"
                android:textColor="@color/black" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/textAddress"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="18sp"
                android:text="@string/text_address"
                android:textColor="@color/black" />

            <EditText
                android:id="@+id/editAddress"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1.5"
                android:textSize="18sp"
                android:inputType="text"
                android:textColor="@color/black" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/textTel"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="18sp"
                android:text="@string/text_tel"
                android:textColor="@color/black" />

            <EditText
                android:id="@+id/editTel"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1.5"
                android:textSize="18sp"
                android:inputType="text"
                android:textColor="@color/black" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/textEmail"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textSize="18sp"
                android:text="@string/email"
                android:textColor="@color/black" />

            <EditText
                android:id="@+id/editEmail"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1.5"
                android:textSize="18sp"
                android:inputType="textEmailAddress"
                android:textColor="@color/black" />
        </LinearLayout>

    </LinearLayout>
</ScrollView>

如您所見,第二個EditText太長,我會將其與其他字段對齊,如下所示:

在此處輸入圖片說明

我試圖在那里使用RelativeLayout並使用LinearLayout進行一些更改,但是我發瘋了,因為我無法達到我的目的。 我不是XML布局專家... :(

我只編輯第二個LinearLayout那個問題,這是解決方案:

  1. EditText您必須將layout_weight="1.5"為與other和android:layout_width="0dp"
  2. EditText父視圖中, LinearLayout設置android:weightSum=2.5" (1 + 1.5)
  3. android:gravity="right"LinearLayout Fin!

     <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:weightSum="2.5" android:gravity="right" android:orientation="horizontal"> <EditText android:id="@+id/editCustom" android:layout_width="0dp" android:layout_height="wrap_content" android:textSize="18sp" android:inputType="text" android:layout_weight="1.5" android:textColor="@color/black" /> </LinearLayout> 

通過替換第二個EditText的代碼

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >
        <TextView
            android:id="@+id/textCountry"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="" />
        <EditText
            android:id="@+id/editCustom"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.5"
            android:inputType="text"
            android:textColor="@color/black"
            android:textSize="18sp" />
    </LinearLayout>

您可以添加空的Textview並通過為兩者實現適當的權重來實現。 並確保在為任何視圖定義layout_weight時,將寬度定義為android:layout_width =“ 0dp”

嘗試正確設置重力,然后設置一些邊距。 可能會做您想要的。 大多數時候,我更喜歡使用RelativeLayouts,因為它們更易於操作。

在您的EditText的父LinearLayout視圖中,具有以下內容:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:alignLeft="@id/spinnerCountry"
        android:orientation="horizontal">

這會將整個LinearLayout的左側與Spinner的左側對齊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM