12

Próbowałem zmienić kolor linii EditText na dole, ale mój EditText nadal nie chce zmienić koloru, ale używa stylu od Material .Android colorControlNormal atrybuty xml nie działa przed Lollipopem

Próbowałem zmienić kolor po tych odpowiedzi: link

Więc mam EditText z postaci Material ale nie kolorami mam ustawione.

Wstawiłem appcompat-v7 w moim pliku konfiguracyjnym Gradle i już działa dla podstawowego koloru.

<style name="AppBaseTheme.MiddleTheme.Widget.EditText" parent="Theme.AppCompat.Light"> 
    <item name="colorPrimary">@color/middle_primary</item> 
    <!-- Those 3 lines are staying in red war in IntelliJ but it does build the project --> 
    <item name="android:colorControlNormal">@color/middle_sqool_primary</item> 
    <item name="android:colorControlActivated">@color/middle_sqool_primary</item> 
    <item name="android:colorControlHighlight">@color/middle_sqool_primary</item>    
</style> 
+1

Czy próbowałeś usunąć 'android:' z nazw przedmiotów? Podobnie jak w 'colorPrimary' –

+3

Tak, zrobiłem, usunęło czerwone ostrzeżenie w IDE, ale nadal nie powoduje zmian w widoku (raz uruchomić) – Ektos974

+0

Czy znalazłeś rozwiązanie? Mam ten sam problem? – Christopher

Odpowiedz

7

Musisz ustawić colorControlActivated, colorControlHighlight i colorControlNorma l w aplikacja motyw (lub aktywność tematu) nie w swoim stylu EditText.

coś takiego:

<style name="Theme.App.Base" parent="Theme.AppCompat.Light"> 
    <item name="colorControlNormal">@color/middle_sqool_primary</item> 
    <item name="colorControlActivated">@color/middle_sqool_primary</item> 
    <item name="colorControlHighlight">@color/middle_sqool_primary</item> 
</style> 
+3

To nie powoduje żadnych zmian. – Ektos974

+2

Czy jesteś pewien, że twoja aktywność korzysta z tego stylu? –

+0

W wersji 25.0.0 to nie działa. – Storix

2

Jako obejście, spróbuj użyć android.support.v7.widget.AppCompatEditText zamiast EditText. Powinieneś zawsze używać tego dla widoków utworzonych programowo.

Na pewno się udało, ale upewnij się, że edytujesz motywy w folderze values, a nie w pliku values-v21 (jeśli taki istnieje).

0

Miałem podobny problem. Chciał zmienić kolor podświetlenia pozycji menu. I żaden z tych atrybutów nie zadziałał (Biblioteka Wsparcia v25.0.0).

Jedyną cechą, która pozwoliła mi zmienić kolor na urządzeniach Pre-L jest taka:

<item name="actionBarItemBackground">@drawable/YOUR_DRAWABLE</item> 

zatrzymałem poszukiwania dalszych obejścia, bo to oczywiste, że biblioteka Pomoc nie jest gotowy do produkcji kodu.

Powiązane problemy