gpt4 book ai didi

android - EditText 的句柄带有下划线

转载 作者:搜寻专家 更新时间:2023-11-01 09:35:39 25 4
gpt4 key购买 nike

我最近遇到了一个问题,就是将编辑文本的默认下划线从默认的黑色更改为白色。

我使用了这个解决方案,在我看来,通过更改 EditText 的样式,这似乎是最佳实践:

编辑文本

<android.support.v7.widget.AppCompatEditText
android:id="@+id/nom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/Activity_Main_EditText_Nom"
android:imeOptions="actionNext"
android:paddingBottom="10dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp"
android:textColor="@android:color/white"
android:textColorHint="@color/activityBackground"
android:theme="@style/EditTextStyle"
android:visibility="gone"
/>

style.xml

<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowDisablePreview">true</item>
<item name="android:windowBackground">@color/activityBackground</item>
<item name="windowActionBar">false</item>
<item name="actionMenuTextColor">@android:color/white</item>
<item name="android:windowNoTitle">true</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

<style name="EditTextStyle" parent="Widget.AppCompat.EditText">
<item name="colorControlNormal">@android:color/white</item>
<item name="colorControlActivated">@color/colorAccent</item>
<item name="colorControlHighlight">@color/colorAccent</item>
</style>

成功了!但它还向 EditText 的句柄添加了一个下划线栏...

Underlined handlers

有什么想法吗?


回答

通过与@rafsanahmad007讨论,我们终于找到了最终的解决方案。

style.xml

<resources>

<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowDisablePreview">true</item>
<item name="android:windowBackground">@color/activityBackground</item>
<item name="windowActionBar">false</item>
<item name="actionMenuTextColor">@android:color/white</item>
<item name="android:windowNoTitle">true</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

<style name="MyTheme.EditText" parent="MyTheme">
<item name="colorControlNormal">@android:color/white</item>
<item name="colorControlActivated">@color/colorAccent</item>
<item name="colorControlHighlight">@color/colorAccent</item>
</style>

</resources>

像往常一样将MyTheme 应用于应用程序。当你想调整一个 EditText 时,只需添加到它:

编辑文本

<EditText
...
android:theme="@style/MyTheme.EditText"
...
/>

最佳答案

问题出在你的样式主题上.. parent

使用下面的代码:

<android.support.v7.widget.AppCompatEditText
android:theme="@style/MyStyle.EditText"/>

现在在你的 styles.xml 中

 <style name="MyStyle.EditText">
<item name="editTextStyle">@style/MyEditTextStyle</item>
</style>

<style name="MyEditTextStyle" parent="Widget.AppCompat.EditText">
<item name="colorControlNormal">@android:color/white</item>
<item name="colorControlActivated">@color/colorAccent</item>
<item name="colorControlHighlight">@color/colorAccent</item>
</style>

尽量不要直接使用theme parent

编辑

同时在基本主题中添加颜色属性

 <style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorControlNormal">@android:color/white</item>
<item name="colorControlActivated">@color/colorAccent</item>
<item name="colorControlHighlight">@color/colorAccent</item>
</style>

确保您在 list 中的 Activity 中选择主题...

关于android - EditText 的句柄带有下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43466731/

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