6

Có thể dán nhãn nổi (Email/Mật khẩu) vào trong hộp hay không. Về cơ bản giảm không gian ở giữa gợi ý và đầu vào thực tế.Android - giảm bớt nhãn/lề lề nhãn EditText?

enter image description here

Tôi đã thử đệm trên/dưới. Lề trên/dưới cho editText. Nhưng không ai trong số họ đưa ra kết quả tôi đang tìm kiếm.


<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="20dp" 
    android:id="@+id/emailWrapper" 
    app:hintTextAppearance="@style/floatingLabel"> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="54dp" 
     android:paddingLeft="17dp" 
     android:paddingRight="17dp" 
     android:id="@+id/txtEmail" 
     android:singleLine="true" 
     android:inputType="textEmailAddress" 
     android:hint="@string/emailPlaceholder" 
     android:background="@drawable/btn_empty_stroke" /> 

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

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:hintTextAppearance="@style/floatingLabel" 
    android:id="@+id/passwordWrapper" 
    android:layout_below="@+id/emailWrapper"> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="54dp" 
     android:paddingLeft="17dp" 
     android:paddingRight="17dp" 
     android:singleLine="true" 
     android:inputType="textPassword" 
     android:id="@+id/txtPassword" 
     android:paddingTop="0dp" 
     android:text="HELLO" 
     android:hint="@string/passwordPlaceholder" 
     android:background="@drawable/btn_empty_stroke" /> 

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

Điều gì xảy ra nếu bạn cũng giảm chiều cao? –

Trả lời

11

Cảm ơn @Frank N.Stein bình luận và ý tưởng về giảm chiều cao của bạn. Nó đã làm các trick.

Trả lời câu hỏi của riêng tôi. Là một người khác có thể đưa ra vấn đề này.

Vì vậy, về cơ bản, tôi phải đưa ra chiều cao chính xác cho TextInputLayout và giữ nguyên chiều cao EditText. Cũng cho paddingTop vào TextInputLayout và clipToPadding false. Vì vậy, cuối cùng textbox xml đi ra như thế này.

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_marginTop="20dp" 
    android:layout_height="54dp" 
    android:gravity="bottom" 
    android:paddingTop="4dp" 
    android:clipToPadding="false" // above 3 lines are important 
    android:id="@+id/emailWrapper" 
    app:hintTextAppearance="@style/floatingLabel"> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="54dp" 
     android:paddingLeft="17dp" 
     android:paddingRight="17dp" 
     android:id="@+id/txtEmail" 
     android:singleLine="true" 
     android:inputType="textEmailAddress" 
     android:hint="@string/emailPlaceholder" 
     android:text="[email protected]" 
     android:background="@drawable/btn_empty_stroke" /> 

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

Cảm ơn, nó hoạt động. –

0

Chỉ cần thêm vào nền EditText tùy chỉnh của bạn:

<?xml version="1.0" encoding="utf-8"?> 
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
     <item> 
      <shape android:shape="rectangle"> 
       <padding android:bottom="4dp"/> // your padding value 
      </shape> 
     </item> 
    <!-- customize your background items if you need --> 
    </layer-list> 

    <android.support.design.widget.TextInputLayout 
    ...> 
     <android.support.design.widget.TextInputEditText 
      ... 
      android:background="@style/your_custom_background"/> 

sau đó áp dụng nó vào EditText của bạn và tăng chiều cao của EditText của bạn với giá trị đệm của bạn nếu bạn sử dụng chiều cao cố định.

Các vấn đề liên quan