2017-02-14 66 views
0
的繪製左

我想實現像這樣的效果:enter image description here定位TextInputLayout

建議的方式做,這是一個drawableLeft添加到EditText,EditText下劃線擴展繪製下方一路。

另一種可能的方法是在TextInputLayout的左側創建一個ImageView。與此相關的問題是,由於TextInputLayout的錯誤消息會切換額外的高度,因此很難將圖標與EditText完全對齊,具體取決於它是否可見。這需要計算TextInputLayout的錯誤消息視圖高度,並在圖標下方放置佔位符,以便在錯誤消息可見或不可見時切換其可見性。

有沒有一種很好的方法來實現這個設計TextInputLayout

回答

0

這個工作對我來說,訣竅就是把它全部放到一個帶水平方向的LinearLayout中。

<LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 
      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:src="@drawable/ic_user_login_dark"/> 

      <android.support.design.widget.TextInputLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="32dp" 
       android:id="@+id/username"> 

       <EditText 

        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/hint_username" 
        android:inputType="textPersonName" /> 

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

     </LinearLayout>