2013-10-20 15 views
5

hi muszę zrealizować ten układ. ma ten układ. inactive buttonsjak mogę zaimplementować nieprostokątne kształty dla przycisków w Androidzie

Mogę spróbować użyć ikon jako przycisków graficznych, ale aktywny stan przycisku jest podobny do tego!

one button has been pressed

Jak należy postępować z tym?

+1

to zbyt wiele kwestii, aby dać jedną odpowiedź. Przyciski na wierzchu są dość łatwo ustawione 'ImageButton's. Tricky to koło w środku. Możesz utworzyć "ImageButton" dla każdej części i rozmieścić je programowo wokół koła, ale klikalne obszary będą się nakładać. Myślę więc, że najlepiej jest zrobić cały krąg z wszystkimi klikalnymi przyciskami i mieć słuchacza dotykowego, który wykrywa, że ​​faktycznie kliknięto część koła. Może uprościsz i skoncentrujesz swoje pytanie wokół tej części. BTW: Ładny design! – jboi

+0

@jboi masz 100%. Czy będę beli, aby wyświetlać oba stany każdego przycisku za pomocą metody listy dotykowej? Jakieś eaxample? – dmSherazi

+1

Dla różnych stanów rysunków można użyć 'selector' lub' LevelListDrawable'. Za ich pomocą definiujesz różne bitmapy dla stanu dotkniętego i nietkniętego na różnych poziomach. Za pomocą 'ImageView.setLevel (...)' ustawiasz poziom w środowisku wykonawczym. – jboi

Odpowiedz

1

Należy użyć selector następująco:

  1. Przygotować 2 obrazy dla stanów przycisku, i umieścić go w res/drawable folderu.

    button_normal_green.png - Domyślny przycisk obrazu.

    button_pressed_yellow.png - Wyświetlanie po naciśnięciu przycisku.

  2. Teraz utwórz nowy plik XML w folderze "res/drawable /", w dowolnie wybranej nazwie, w tym przypadku po prostu nadajemy nazwę jako "new_button.xml". Ten plik określił, który stan przycisku należy do którego obrazu.

    <?xml version="1.0" encoding="utf-8"?> 
        <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
        <item android:drawable="@drawable/button_pressed_yellow" android:state_pressed="true" /> 
    
        <item android:drawable="@drawable/button_normal_green" /> 
        </selector> 
    

3.Ustaw tło przycisku

<ImageButton 
    android:id="@+id/imageButtonSelector" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/new_button" /> 

mieć przyjrzeć Complete Example

+2

dzięki, moim rzeczywistym problemem jest kształt przycisków, jeśli używam prostokątnych kształtów, albo muszę zostawić część przycisków do usunięcia, albo będą się nakładać – dmSherazi

Powiązane problemy