嘿,有人知道为什么会发生这种情况(如图所示)吗?
对于小米MiA1来说是这样,而在诺基亚7.1上运行正常。

android - TextInputLayout的错误消息文本被切断-LMLPHP

我的xml View 布局

FrameLayout - root
 ScrollView
  RelativeLayout
   <com.google.android.material.textfield.TextInputLayout
                android:id="@+id/til_email"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="@string/profile.EMAIL"
                android:theme="@style/TextInputLayoutTheme"
                android:margin="16dp"
                android:paddingBottom="8dp"
                app:layout_constraintTop_toBottomOf="@+id/phone_wrapper"
                >

                <com.google.android.material.textfield.TextInputEditText
                    android:id="@+id/email"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:inputType="textEmailAddress"
                    android:textSize="16sp"
                    android:textColor="@color/darkTextColor"
                    android:imeOptions="actionDone"
                    tools:text="Email"
                    />
            </com.google.android.material.textfield.TextInputLayout>

我认为这里放置TextInputLayoutTheme不相关,因为我仅使用 View 的颜色进行操作

最佳答案

android - TextInputLayout的错误消息文本被切断-LMLPHP

android - TextInputLayout的错误消息文本被切断-LMLPHP

布局检查器显示,即使有一定的错误空间,它也不会全部显示 View 。 LinearLayouts(和一个简单的FrameLayout)中的所有内容都没有,所以没有任何东西可以重叠它,paddings设置为0,实现中没有代码更改高度或可疑的东西,所以我不知道这是什么。这种行为的原因。

尽管我找到了一些可行的解决方案。您需要在TextInputLayout中找到一个 View 错误(ID为textinput_error)并向其中添加一些小填充。我通过扩展TextInputLayout并将此类代码添加到init中来完成此操作。

val errorTV = findViewById<TextView>(R.id.textinput_error)
errorTV.updatePadding(top = 4)

问题追踪器-https://issuetracker.google.com/issues/116747167已经存在问题,因此希望Google能够在一天之内修复它。

关于android - TextInputLayout的错误消息文本被切断,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53543063/

10-10 22:47