gpt4 book ai didi

android - Edittext setError 在 android 6.0 中不显示消息

转载 作者:行者123 更新时间:2023-11-29 15:02:14 25 4
gpt4 key购买 nike

Edittext setError 方法在 android 6.0 中不显示文本,但在 android 5.0 中运行良好。我尝试了很多解决方案但没有得到解决方案,我尝试了 Android 6 EditText.setError not working correctly 的所有解决方案,那么如何解决这个问题呢? enter image description here

这是我的 xml:

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar_create_page"
android:fillViewport="false">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ImageView
android:layout_width="match_parent"
android:layout_height="180dp"
android:id="@+id/ivPageBanner"
android:src="@drawable/bg_timeline"
android:scaleType="fitXY" />

<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:id="@+id/ivPageDp"
android:layout_alignParentBottom="false"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="140dp"
android:layout_marginLeft="15dp"
android:src="@drawable/flagwithcamera" />

<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/etPageName"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/ivPageDp"
android:layout_marginTop="20dp"
android:hint="Page name"
style="@style/EditTextTheme"
android:theme="@style/EditTextTheme"
android:textCursorDrawable="@drawable/black_cursor"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:textColorHint="@color/hint_foreground_material_light" />
</RelativeLayout>
</ScrollView>

这是我的 Edittext 样式:

<style name="EditTextTheme" parent="Widget.AppCompat.EditText">
<item name="android:textColor">@color/transparent</item>
<item name="android:textColorHint">@color/transparent</item>
<item name="colorAccent">@color/colorPrimary</item>
<item name="colorControlNormal">@color/colorPrimary</item>
<item name="colorControlActivated">@color/colorPrimary</item>
</style>

这是我的 Colors.xml:

<color name="colorPrimary">#64100b</color>
<color name="transparent">#fc000000</color>

最佳答案

我找到了解决方案。刚刚从我的 Edittext 中删除了这个:

android:theme="@style/EditTextTheme"

原因在 setError 文本下方的下划线。

好吧,但是这些下划线是从哪里来的呢?

android:theme 是 View 的一个属性,当您将样式设置为 android:theme 时,该样式将被带有上下文主题的 ContextThemeWrapper 包装,同时在查看。

这意味着,如果您设置 android:theme 属性的样式包含 android:background 项目,例如

<item name="android:background">@color/red</item>

此主题所有者的每个 subview 都将具有绿色背景。

"Widget.AppCompat.EditText" 是一种样式并引用 ?attr/editTextBackground 作为 "android:background"。在 v21/values-21.xml 文件中,@drawable/abc_edit_text_material 被定义为 editTextBackground

感谢https://stackoverflow.com/a/42355788/5909385

关于android - Edittext setError 在 android 6.0 中不显示消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42688176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com