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>
解决方法:
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