如何移除TextInputLayout左侧多余内边距?解决文本截断问题
TextInputLayout 文本开头截断问题处理方案
你遇到的TextInputLayout开头文本被截断的问题,可以通过调整内部内边距来解决,以下是具体操作:
1. 调整TextInputLayout专属内边距属性
Material Components的TextInputLayout默认带有内部边距,这类边距不是用普通的android:padding控制,而是需要设置它的专属属性:
- 在你的
Widget.TextInputLayoutx样式中添加:
<item name="boxPaddingStart">0dp</item> <item name="boxPaddingEnd">0dp</item>
或者直接在布局的自定义View标签里添加:
app:boxPaddingStart="0dp"
2. 检查内部EditText的内边距
如果自定义的InputAmountView内部包含EditText,这个EditText默认也有内边距,需要给它设置:
android:paddingStart="0dp" android:paddingLeft="0dp"
可以在EditText的样式或者布局中配置。
3. 排查布局约束是否挤压空间
你的布局中InputAmountView的起始约束是layout_constraintStart_toEndOf="@+id/tvCurrency",要确认tvCurrency的宽度是否超出预期,导致InputAmountView的可用宽度不足。可以临时把起始约束改为parent,验证是否是布局挤压导致的文本截断。
你提供的样式代码:
<style name="Widget.TextInputLayoutx" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox"> <item name="android:layout_marginBottom">?spacerSmall</item> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">wrap_content</item> <item name="boxBackgroundMode">outline</item> </style>
自定义View布局代码:
<com.custom.android.design.amount.input.InputAmountView android:id="@+id/amountInputView" style="@style/Widget.TextInputLayoutx" android:layout_width="0dp" android:layout_height="wrap_content" android:textAlignment="viewStart" android:padding="0dp" android:layout_margin="0dp" android:paddingVertical="0dp" app:errorIconDrawable="@null" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@+id/tvCurrency" app:layout_constraintTop_toBottomOf="@id/amountTitle" />
问题截图:

内容的提问来源于stack exchange,提问作者Renz Manacmol
相关产品推荐
相关产品推荐

