2016-03-02 77 views
2

我的问题是,我不知道如何改变的EditText的下划线颜色 - 我有LG的Nexus 5(安卓6)。(材料)的EditText下划线颜色

enter image description here

我想改变正常下划线颜色白色。我使用的所有PARAMS等(式):

  • colorControlNormal
  • colorControlActivated
  • colorControlHighlight
  • textColorSecondary
  • colorPrimary
  • colorPrimaryDark

例如

<style name="FormFont" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:textColor">@color/white</item> 
    <item name="android:textSize">@dimen/form_text_size</item> 
    <item name="colorControlNormal">#c5c5c5</item> 
</style> 

,但似乎没有任何工作(它只改变颜色,当我们的EditText关注如上面图)。

+0

我可以更好地帮助你,如果你把使用的XML布局和样式的片段。然而 –

+0

我更新后其分毫先进 –

+0

我发现从另一个答案question.Please检查此[链接](http://stackoverflow.com/questions/26574328/changing-edittext-bottom-line-color-with -appcompat-v7)的答案。 – Recomer

回答

1
<style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorControlNormal">#c5c5c5</item> 
    <item name="colorControlActivated">@color/accent</item> 
    <item name="colorControlHighlight">@color/accent</item> 
</style> 
+0

我检查过它 - 它很愚蠢只适用于在主AppTheme中设置,但不适用于像我一样设置不同风格。如果我不想在我的应用的每个EditText中使用相同的颜色,该怎么办? –

+0

我不确定是否有可能。我会检查它,并让我知道,如果我找到了什么。 – Recomer

+1

您可以为EditTexts创建一个单独的样式,并将其父项设置为'Theme.App.Base'并通过'android:theme =“@ style/Theme.App.YourEditTextTheme”将其应用于您选择的EditTexts“在你的XML布局 – Mark

0

,使其在工作Android的6,在 res/values-v21/styles.xml创建自定义主题。

<style name="FormFont" parent="@android:style/TextAppearance.Medium"> 
    <item name="colorControlNormal">#c5c5c5</item> 
</style> 
<style name="FormFontWhite" parent="@android:style/TextAppearance.Medium"> 
    <item name="colorControlNormal">#ffffff</item> 
</style> 

,然后应用在你的EditText

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/FormFont"/> 

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/FormFontWhite"/> 

欲了解更多信息检查@reVerse answer

希望这会有所帮助!

+0

它没有帮助:( –

1

最有效的事情就是添加colorAccent属性,在AppTheme风格是这样的:

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">   

<item name="colorAccent">@color/colorAccent</item>  
<item name="android:editTextStyle">@style/EditTextStyle</item> 
</style> 
<style name="EditTextStyle" parent="Widget.AppCompat.EditText"/> 

的colorAccent属性用于插件着色整个应用程序,因此应被用于一致性

+0

但我只希望这些编辑文本改变。颜色口音有更广泛的影响 –

0

尝试使用android:backgroundTint="#yourUnderlineColor"

仅适用于API 21或更高。

0
<android.support.v7.widget.AppCompatEditText 
        android:id="@+id/password" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:hint="@string/cux_label_password" 
        android:inputType="textPassword" 
        app:theme="@style/editTextStyle" /> 

<style name="editTextStyle" parent="TextAppearance.AppCompat"> 
     <item name="colorControlNormal">#FFFFFF</item> 
     <item name="colorControlActivated">#FFFFFF</item> 
     <item name="colorControlHighlight">#FFFFFF</item> 

    </style>