切换rtl模式时,Material TextInputLayout中的浮动提示不显示,当区域设置为ltr时,一切正常:LTR模式,浮动提示正在工作
但在rtl中,它消失了:RTL模式和无提示
这是我的XML:的一部分
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/code_text_input"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_marginBottom="8dp"
app:hintEnabled="true"
app:layout_constraintTop_toTopOf="@+id/login">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/code_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/activate_code"
android:inputType="number"
android:textSize="@dimen/large_text" />
</com.google.android.material.textfield.TextInputLayout>
我得到了一些东西。问题出在波斯语或阿拉伯字符串上。但当字符串是拉丁文时,它甚至在RTL模式下也能工作。
最后我修复了它。我使用了最新的材料库设计
com.google.android.material:material:1.2.0-alpha02
我把它改成
com.google.android.material:material:1.1.0-alpha05
一切都很好。
我以前遇到过这种情况,例如应用rtl来显示阿拉伯语文本。
我使用了这个xml:
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
app:hintAnimationEnabled="true">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/phoneEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone"
android:hint="@string/phone_number_label" />
</com.google.android.material.textfield.TextInputLayout>
请注意,如果您想显示阿拉伯语文本,您应该为区域设置阿拉伯语创建一个strings.xml文件。