其他分享
首页 > 其他分享> > android – TextInputLayout:如何给出填充或边距提示?

android – TextInputLayout:如何给出填充或边距提示?

作者:互联网

我必须在我的项目中使用设计支持库的TextInputLayout.我想在TextInputLayout中的提示和EditText之间给出空格.我在TextInputLayout中设置了margin和padding,甚至在EditText里面,但两者都不起作用.所以如何解决这个问题.在这里我附上屏幕截图和我的编码.

==============================Style=================================

<style name="TextHint" parent="Base.TextAppearance.AppCompat">
    <item name="android:textSize">18sp</item>
    <item name="android:textColor">@color/green</item>
</style>



=============================XML===================================  
<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    app:hintTextAppearance="@style/TextHint"
    android:layout_marginTop="10dp"
    android:layout_marginLeft="30dp"
    android:layout_marginRight="30dp"
    android:layout_height="wrap_content">
<EditText
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:id="@+id/edttxtEmailAddress"
    android:singleLine="true"
    android:hint="@string/enter_valid_email"
    android:paddingLeft="20dp"
    android:textSize="20sp"
    android:background="@drawable/rounded_common"/>
</android.support.design.widget.TextInputLayout>

enter image description here

解决方法:

ganesh2shiv提出的解决方案在很大程度上起作用,尽管我发现它还会在不聚焦时将EditText内显示的提示文本去中心化.

更好的技巧是将所需的paddingTop设置为EditText,但也将额外的填充嵌入EditText的背景中.一个相当明智的方法是将原始背景包装在< layer-list>中.并设置< item android:top =“...”>用于匹配EditText的paddingTop的属性.

<android.support.design.widget.TextInputLayout
  android:layout_width="match_parent"
  android:layout_height="wrap_content">

  <EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="@dimen/floating_hint_margin"
    android:background="@drawable/bg_edit_text" />
</android.support.design.widget.TextInputLayout>

和bg_edit_text.xml可绘制文件:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:top="@dimen/floating_hint_margin">
    <your original background; can be <bitmap> or <shape> or whatever./>
  </item>
</layer-list>

标签:androiddesignsupport,android,android-textinputlayout,android-layout
来源: https://codeday.me/bug/20190926/1817891.html