2013-09-02 13 views

Odpowiedz

3

Myślę, że możesz zmienić Androida: tło do żądanego losowania, aby zastąpić domyślne tło tekstu edycji.

+0

Łączę twoją odpowiedź z Peregreenem. Pobrałem plik 9patch z http://android-holo-colors.com/. I ustaw android: tło na tym losowaniu. –

5

Można użyć 9-pak. Ten zasób jest wspaniałym przykładem: android holo

+0

Czy masz tutorial lub coś, gdzie jest wyjaśnione, jak je zaimplementować? –

+0

http://developer.android.com/tools/help/draw9patch.html lub Android-holo-colors może wygenerować pliki 9patch dla Ciebie. – Peregreen

4
int color = Color.parse("#HEX") 
editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_ATOP); 
+0

najlepsze rozwiązanie :) – umerk44

3

Dla tych, którzy chcą bardziej kompletnej odpowiedzi. Domyślnym kolorem jest w rzeczywistości 9-plasterkowe tło. Więc będziesz musiał go wymienić.

Przejdź do http://android-holo-colors.com/. Tutaj zobaczysz kategorię o nazwie "kolor".

Kliknij kolorowy kwadrat obok niego, a zobaczysz próbkę koloru. Zmień kolor na pożądany.

Przewiń w dół i znajdź inną kategorię o nazwie EditText. Kliknij przycisk Tak obok niego.

Na koniec przewiń w dół do końca strony i pobierz wygenerowany zip.

Rozpakuj suwak w komputerze. Znajdziesz kilka folderów do rysowania w zależności od gęstości pikseli. Skopiuj je do odpowiednich folderów w projekcie.

Pojawi się również folder o nazwie "drawable". Będzie to plik xml. Jeśli masz folder o nazwie "drawable", inny niż "drawable-mdpi, drawable-hdpi, etc", skopiuj plik xml do folderu "drawable", w przeciwnym razie utwórz go w folderze "res"

Wreszcie, skopiuj nazwę pliku xml. Przejdź do EditText, który chcesz zmienić, i ustaw plik xml jako tło. Jeśli plik XML został zatytułowany edit_text_holo_light kod xml chcesz umieścić w swoim EditText byłoby:

android:background="@drawable/edit_text_holo_light 

Zapisz projekt i uruchomić.

+0

To spowodowałoby zmianę koloru całego EditText (nie tylko podkreślenia). –

+0

@IgorGanapolsky Niekoniecznie. Tło, podkreślenie itp. Są ustawione z tego pliku. W takim przypadku reszta EditText pozostanie taka sama. Zmienia się tylko podkreślenie. – Visionwriter

+0

Tak, koniecznie: http://imgur.com/bEBMyID –

2

użycie android:backgroundTint="" w EditText układ xml

+1

'backgroundTint' to api 21 i nowsze. –

+1

Tak, ale zawsze możesz użyć widoków AppCompat, takich jak AppCompatEditText w bibliotekach Supportu, koleś –

+0

@SoheilSetayeshi Myślę, że wersja widgetów AppCompat służy do rozszerzenia ich na niestandardowe implementacje. Jeśli użyjesz na przykład "SwitchCompat", Android nadal będzie domyślnie używać zwykłego "Przełącznika". –