TextInputLayout似乎总是在顶部有一些额外的填充(无论所有边距/填充都设置为0):
布局如下:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/txt_amount"
style="@style/EditTextStyle"
android:hint="@string/hint_amount"
android:inputType="numberDecimal"/>
</android.support.design.widget.TextInputLayout>
如何删除这个额外的空间?
答案 0 :(得分:17)
您可以通过将app:hintEnabled="false"
设置为TextInputLayout来移除AppCompatEditText上方的额外空间,但在重新启用之前它不会显示提示。
有关详情,请转到Android Developer site -TextInputLayout
结帐以下代码
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintEnabled="false">
<android.support.v7.widget.AppCompatEditText
android:id="@+id/txt_amount"
style="@style/EditTextStyle"
android:hint="@string/hint_amount"
android:inputType="numberDecimal"/>
</android.support.design.widget.TextInputLayout>
希望这有用..
@Rajesh
答案 1 :(得分:1)
具有这样的结构:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/til_project"
style="@style/LoginTextInputLayoutStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
app:errorEnabled="false">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/totalPiecesProduct"
android:layout_gravity="center"
android:gravity="center"
android:padding="0dp"
android:textSize="13sp"
style="@style/TextInputEditTextStyle"/>
</com.google.android.material.textfield.TextInputLayout>
关键是:
app:errorEnabled="false"
在TextInputLayout
`android:padding="0dp"` in `TextInputEditText`
之前:
之后
答案 2 :(得分:0)
您可以使用此
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="@android:color/white">
<com.bugle.customviews.RobotoLightEditText
android:id="@+id/edtName"
style="@style/StyledTilEditText"
android:hint="@string/name"
android:imeOptions="actionNext"
android:inputType="textCapWords" />
</android.support.design.widget.TextInputLayout>
答案 3 :(得分:0)
接受的答案在版本1.2.1
上对我不起作用,因此我做了一些实验,发现填充实际上不是来自TextInputLayout
,而是来自{{1} }。因此,我首先从中删除了填充,但看起来不均匀,因此我将自定义填充设置为TextInputEditText
,并且效果很好。只需将这行TextInputEditText
添加到android:padding="16dp"
并用所需的值替换16dp。
答案 4 :(得分:0)
您可以通过覆盖TextInputStyle的默认填充样式来做到这一点(材料版本应高于1.1.0)
private void dateTimePicker1_KeyDown(object sender, KeyEventArgs e)
{
e.SuppressKeyPress = true;
}
然后
<style name="CustomInputLayoutPadding" parent="Widget.MaterialComponents.TextInputLayout.FilledBox">
<item name="boxBackgroundColor">@color/transparent</item>
<item name="materialThemeOverlay">@style/CustomOverlayFilledPadding</item>
</style>
然后
<style name="CustomeOverlayFilledPadding">
<item name="editTextStyle">@style/CustomTextInputEditPaddingStyle</item>
</style>
答案 5 :(得分:-3)
在EditText中添加此行
<强>机器人:translationY =&#34; -10dp&#34; 强>