2013-05-17 14 views
5

Próbowałem wyszukiwać i używać niestandardowych selectors innych osób opublikowanych tutaj, używając ustawionego filtra kolorów i wielu innych rzeczy. Myślę, że całkowicie się mylę, ponieważ z całkowitą szczerością nie jestem świetny w projektowaniu, który dopiero zaczyna się rozwijać, ale nadal nie wyobrażam sobie, że może być tak skomplikowane, aby robić to, co chcę, jak widziałem:Niestandardowy przycisk Holo

Opracowałem aplikację dla Froyo i wyżej. Chcę, aby kolor tła przycisku był zielony holo i holo pomarańczowy, jak na próbkach na Android developer website. To wszystko, co chcę być inne. Chcę standardowe niebieskie podkreślenie po naciśnięciu przycisku na holo lub standardowym naciśnięciu przycisku itd. Zachowanie oczekiwane w froyo, pierniku itp.

Byłbym wdzięczny za wszelkie wskazówki w tym zakresie. Z góry dziękuję!

Odpowiedz

7

EDIT:

Jest o wiele łatwiejszy sposób, aby zmienić kolory motywu holo. Ta strona zrobi to za ciebie:

http://android-holo-colors.com


Jedynym sposobem, aby dostosować przyciski holo jest przycisk Edytuj z kanału alfa z edytora obrazów jak Photoshop. Oto jak:

  • Otwórz folder w katalogu SDK platforms/android-17/data/res i znaleźć przyciski holo w tych rozciągliwych folderów (zaczną z btn_default_holo_...).
  • Otwórz je za pomocą edytora obrazów i po prostu zmień ich kolory (barwa/nasycenie), aby dopasować je do koloru, który chcesz. Dostępne są 3 lub 4 różne rysunki, po jednym na stan przycisku.
  • Zapisz je w odpowiednim folderze do rysowania w aplikacji. Musisz to zrobić dla każdej gęstości ekranu, którą chcesz obsłużyć (zwykle wystarczą zazwyczaj mdpi,, xhdpi).

Nie testowałem, ale może wystarczy edytować przyciski xhdpi. Zostaną zmniejszone do niższych gęstości.

Po dostosowaniu każdego losowania należy utworzyć selektor, który będzie używany jako przycisk niestandardowy. Oto przykład z selektora używam w jednej z moich aplikacji, aby utworzyć zielony przycisk holo:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_window_focused="false" android:state_enabled="true" 
      android:drawable="@drawable/__btn_green_normal_holo_light"/> 
    <item android:state_window_focused="false" android:state_enabled="false" 
      android:drawable="@drawable/__btn_default_disabled_holo_light"/> 
    <item android:state_pressed="true" 
      android:drawable="@drawable/__btn_default_pressed_holo_light"/> 
    <item android:state_focused="true" android:state_enabled="true" 
      android:drawable="@drawable/__btn_default_focused_holo_light"/> 
    <item android:state_enabled="true" 
      android:drawable="@drawable/__btn_green_normal_holo_light"/> 
    <item android:state_focused="true" 
      android:drawable="@drawable/__btn_default_disabled_focused_holo_light"/> 
    <item 
      android:drawable="@drawable/__btn_default_disabled_holo_light"/> 
</selector> 

Oto przykład zmodyfikowanej green holo button drawable. Możesz sprawdzić inne rysunki mojego projektu, jeśli jesteś zainteresowany, robię dokładnie to, co chcesz zrobić (mam też czerwony przycisk).

+0

Dziękuję za odpowiedź! Moim jedynym zmartwieniem jest to, że będę musiał dostosować go do każdej wersji Androida, aby naśladować zwykłą (pomarańczowy w pierniku i niebieskim w ics itp.), Czy mam to źle? – AndroidPenguin

+1

Masz rację, ale możesz także użyć przycisków holo dla wszystkich wersji. To właśnie robię i co robi kilka dobrze znanych aplikacji. Są lepsze niż stare przyciski 2.1. – Dalmas

+0

Dobra, zrobię to! :) Dziękuję bardzo! – AndroidPenguin

Powiązane problemy