我有自定义背景可绘制的EditText:
EditText代码:
<EditText
android:id="@+id/etName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@{ViewModel.isAllowEdit ? @drawable/profile_et_background_active : @drawable/profile_et_background}"
android:inputType="@{ViewModel.isAllowEdit ? InputType.TYPE_CLASS_TEXT : InputType.TYPE_NULL}"
android:text="@={ViewModel.name}"
android:textColor="@color/main_dark_text_color" />
我正在使用android数据绑定库和MVVM架构。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
</shape>
</item>
<item
android:left="-2dp"
android:right="-2dp"
android:top="-2dp">
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:width="1dp"
android:color="@color/main_elements_line_color" />
</shape>
</item>
</layer-list>
<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
</shape>
</item>
当允许编辑并且用户开始在EditText中键入文本时,在键入的单词下会出现额外的下划线(它只属于当前键入的单词,EditText文本的所有其他部分都没有下划线):
我试图通过向EditText添加滤色器来删除下划线:
et.setColorFilter(getResources().getColor(android.R.color.transparent), PorterDuff.Mode.SRC_IN)
但不管用。
“java.lang.Integer不能强制转换为Android.graphics.drawable.drawable”
更改“@{viewmodel.isallowedit?@drawable/profile_et_background_active:@drawable/profile_et_background_background}”时
到“@{viewmodel.isallowedit?@drawable/profile_et_background_active:@android:color/transparent}”
下划线文本样式由edittext
的baseInputConnection
应用到当前正在“组成”的文本,使用主题属性Android:CandidateStextStylesPans
应用的样式,默认情况下,该属性设置为字符串positions
。
忽略字符串的文本部分,但从字符串中提取样式跨度,并应用于“组成”文本,即用户当前正在键入的单词,A.O.指示可以选择建议或自动更正处于活动状态。
您可以更改样式(例如,使用粗体或斜体而不是下划线),或者通过将theme属性设置为有样式或无样式的字符串来完全删除样式:
<!-- remove styling from composing text-->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- ... -->
<item name="android:candidatesTextStyleSpans">candidates</item>
</style>
<!-- apply bold + italic styling to composing text-->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- ... -->
<item name="android:candidatesTextStyleSpans"><b><i>candidates</i></b></item>
</style>
注意:删除所有样式将导致BaseInputConnection实现在每一次文本更改时重新计算theme属性,因为span信息是惰性加载的,并且只有当属性设置为样式字符串时才会持久化。您也可以将html:fromhtml(...)
支持的任何其他样式设置为默认文本颜色,这在显示上没有什么不同,例如...
。
最近我不得不更改EditText指示器的颜色,然后,指示器下面开始出现一条奇怪的线。我怎么才能去掉它?下面是我所做的代码。 styles.xml
我最近遇到了一个问题,就是将edittext的默认下划线条从默认的黑色更改为白色。 我使用了这个解决方案,在我看来,通过更改EditText的样式,它是最佳实践: 编辑文本 像往常一样,将应用于应用程序。当您想要调整时,只需向其添加: 编辑文本
问题内容: 我试图将链接显示为白色,但不带下划线。文本颜色正确显示为白色,但蓝色下划线顽固地保持不变。我试图和在CSS删除链接的下划线。两者都不起作用。 如何从链接中删除蓝色下划线? 问题答案: 如我所料,您不是要应用到锚点(),而是要应用到span元素()。 尝试这个:
如何隐藏EditText下划线(末尾有衬线的提示线)? 可能有一个更好的方法来实现我想要的:我有一个带有EditText的布局。通常情况下,在用户可以点击它并开始输入或编辑文本的地方显示良好。 然而,有时我希望使用相同的布局(简化其他逻辑)以只读方式显示相同的数据。我希望演示文稿是相似的--它应该有相同的高度和相同的字体,但没有下划线。 作为权宜之计,我将通过删除EditText并替换TextVi
我第一次尝试使用龙目岛,因为我在一个类中有很多变量,并且不想为所有变量生成 getter 和 setter。 我正在使用IntelliJ 2016.2.1和Lombok插件0.13.14,我的源代码在Java 8中。我已经启用了注释预处理或其他功能,并将lombok.jar添加到我的库中。我编译了我的项目,它编译得很好,使用了@Getter和@Setter方法。 然而,我唯一的问题是我实际上没有在
我正在使用水平线性布局来并排显示一个图像和一个文本字段: 我在线性布局中添加了一个底部下划线,这样图像和文本字段都在一起下划线。我现在需要做的是从“编辑”文本框中删除下划线: 此图像显示,当取消聚焦时,编辑文本下划线仍然存在, 并且他的图像显示编辑文本下划线在聚焦时仍然存在。 我在so:here和here上使用了每个示例中的xml代码,但没有用。将android:background更改为@nul