我必须在我的项目中使用设计支持库的 TextInputLayout
。我想在 --- 中的 TextInputLayout
hint
和 EditText
之间留出空间。我在 TextInputLayout
甚至在 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>
原文由 Pranav 发布,翻译遵循 CC BY-SA 4.0 许可协议
ganesh2shiv 提出的解决方案在大多数情况下都有效,尽管我发现它也会在未聚焦时使 EditText 内显示的提示文本偏离中心。
一个更好的技巧是将所需的
paddingTop
设置为 EditText,但还要在 EditText 的背景中嵌入额外的填充。一种相当明智的方法是将原始背景包装在<layer-list>
中,并设置<item android:top="...">
属性以匹配paddingTop
的 EditText.—bg_edit_text.xml
可绘制文件: