2016-11-19 50 views
1

一些空間,我有這樣的佈局:安卓:TextInputLayout總是讓從頂部

<LinearLayout 
    android:id="@+id/dialogCentralContent" 
    android:gravity="center_horizontal" 
    android:layout_width="220dp" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/phoneNumberInfo" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp" 
    android:layout_marginBottom="20dp" 
    android:layout_centerHorizontal="true" 
    android:orientation="horizontal" 
    android:background="@drawable/edittext_white_rounded"> 

    <EditText 
     android:layout_width="0dp" 
     android:layout_height="60dp" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:maxLines="1" 
     android:inputType="none" 
     android:focusable="false" 
     android:text="@={dataContext.phonePrefix}" 
     style="@style/Widget.App.PurchaseAmountEditText" /> 

    <android.support.design.widget.TextInputLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="3" 
     tools:errorEnabled="true" 
     app:errorText="@{dataContext.validator.phoneValidation}"> 

     <android.support.design.widget.TextInputEditText 
      android:layout_height="60dp" 
      android:layout_width="match_parent" 
      android:gravity="center" 
      android:maxLines="1" 
      android:inputType="phone" 
      android:text="@={dataContext.phoneNumber}" 
      style="@style/Widget.App.PurchaseAmountEditText" /> 

    </android.support.design.widget.TextInputLayout> 

</LinearLayout> 

它看起來像這樣:

enter image description here

正如你可以看到第二EditText比呈現低第一。當我在Android Studio的可視化編輯器中查看它時,我可以看到TextInputLayout頂部有一些可用空間,但設置paddingTop="0dp"沒有改變任何內容。那麼如何讓這兩個EditText呈現相同的方式?

回答

3

默認情況下,TextInputLayout將在浮動提示文本的頂部留出空間。如果您沒有使用浮動提示,則可以通過將以下內容添加到開頭的<TextInputLayout>元素來刪除該空間。

app:hintEnabled="false" 

經常提示文本仍然可以看到在TextInputEditText當它是空的。