normalny przycisk wygląda tak:android - Przycisk styl
Teraz, proszę dać mi znać, jak mogę zrobić prosty przycisk samo jak przycisk dołączony obrazu (czyli przycisk rogu kształt jest okrągły, a także nie ma szczeliny między dwoma przyciskami)
normalny przycisk wygląda tak:android - Przycisk styl
Teraz, proszę dać mi znać, jak mogę zrobić prosty przycisk samo jak przycisk dołączony obrazu (czyli przycisk rogu kształt jest okrągły, a także nie ma szczeliny między dwoma przyciskami)
9-plaster będzie działać dobrze tutaj, ale staram się ich uniknąć, ponieważ trudno jest mi je zrobić :(
można spróbować posiadające selector
i korzystania kształt dla każdego stanu:
kształt będzie wyglądać następująco:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#AAFFFFFF"/>
<corners android:bottomRightRadius="7dp"
android:bottomLeftRadius="7dp"
android:topLeftRadius="7dp"
android:topRightRadius="7dp"/>
</shape>
trzeba stworzyć 9-patch rozciągliwej. Aby nie było luki (marginesu) między przyciskami, musisz utworzyć odpowiedni układ w XML i ustawić margines na 0.
+1 za wsparcie, pomaga mi również uzyskać punkt. –
można również użyć ImageView w xml plik, a następnie nada onClickable i onFocusable true i n Stwórz metodę zdarzenia onClick na kodzie backendu i podaj nazwę metody na xml, aby zamiast zajmować się wszystkimi problemami z kształtem lub przyciskiem, umieściłeś tam obraz i sprawiłeś, że działa jak przycisk. Oto przykładowy kod dla ciebie
<ImageView
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:onClick="testClickEvent"
android:paddingRight="8dip"
android:paddingBottom="8dip"
android:src="@drawable/testImg"/>
Jak powiedziałem na stronie backend stworzyć metodę z napisem tak i ten będzie wykonać zadanie
public void testClickEvent(View v){}
Następnie realizować to, co chcesz robić w tej metodzie
tworzenie rozciągliwej Dziewięć poprawki, które jest łatwe z draw9patch (część Android/narzędzia), a następnie zastosować style i motywy ... samouczek na this link (Androgames.net) powinien zacząć.
+1, thanx za wsparcie. –
link jest martwy – Thomas
poszukaj czterorakiego kodu źródłowego i poszukaj pliku SegmentedButton.java, jest to plik, który implementuje przyciski widoczne na obrazku.
+1 Thiago Thanx za wskazanie. Już rozwiązałem i zaimplementowałem wydarzenie lepiej niż to :) wciąż sprawdzę, czy jest dobrze. :) –
Oto kilka przykładów gradientu wyglądających przycisków w tym podglądzie: http://www.dibbus.com/2011/02/gradient-buttons-for-android/
Dzięki za podzielenie się tym, ale już natknąłem się na ten artykuł 4 miesiące wstecz. –
Nie zapomnij o wszystkich innych użytkownikach tutaj. – Bachi
A nawet więcej: http://www.dibbus.com/2011/08/even-more-gradient-buttons-for-android/ – andresmafra
chciałbym dzielić jeden artykuł, który warto wdrożyć na rzecz Buttona. Oto artykuł: http://www.dibbus.com/2011/03/9patch-images-in-android/, jego naprawdę fajny i niesamowity artykuł.
1- tworzyć kształty (z pożądanych kolorów) dla naciśnięty i zwolniony stanach
aby utworzyć kształty Proponuję ten wielki stronie internetowej zrobi to za ciebie: http://angrytools.com/android/button/
odkształcalne \ botton_shape_pressed.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="@color/pressed_button_background"
android:endColor="@color/pressed_button_background"
android:angle="45"/>
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
<corners android:radius="8dp" />
</shape>
drawable \ botton_shape_released.XML:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="@color/released_button_background"
android:endColor="@color/released_button_background"
android:angle="45"/>
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
<corners android:radius="8dp" />
</shape>
2- utworzyć przełącznik dla dwóch kształtów
odkształcalne \ botton_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/botton_shape_pressed"
android:state_pressed="true" />
<item android:drawable="@drawable/botton_shape_pressed"
android:state_selected="true" />
<item android:drawable="@drawable/botton_shape_released" />
</selector>
3- pomocą przełącznika na przycisk
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/test"
android:textColor="@color/blue_text"
android:onClick="testOnClickListener"
android:background="@drawable/botton_selector" />
styl tekstu można dodać do strings.xml
<style name="ButtonText">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#ffffff</item>
<item name="android:gravity">center</item>
<item name="android:layout_margin">3dp</item>
<item name="android:textSize">30dp</item>
<item name="android:textStyle">bold</item>
<item name="android:shadowColor">#000000</item>
<item name="android:shadowDx">1</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">2</item>
</style>
i nazwać go w przycisku main.xml
style="@style/ButtonText"
i alternatywnej metody można grać z tworzy w @ odkształcalne/btn_black z następujących ...
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<solid
android:color="#343434" />
<stroke
android:width="1dp"
android:color="#171717" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:startColor="#343434"
android:endColor="#171717"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#171717" />
<corners
android:radius="4dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
button_primary .xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="270"
android:endColor="@color/background"
android:startColor="@color/background" />
<corners android:radius="1dp" />
<stroke
android:width="2px"
android:color="@color/colorPrimary3" />
</shape>
wezwanie style = "@ styl/button_pr imary "
+1, thanx za wsparcie, działa dobrze –
Tak Macarse miał absolutnie rację, aby użyć obrazu 9-patch, proszę sprawdzić moją odpowiedź poniżej: http://stackoverflow.com/questions/4489069/android-button- style/6659516 # 6659516 –
Dla promienia możesz użyć tych małych wskazówek, jeśli wszystkie rogi będą takie same: android: radius = "Xdp". Wystarczy dodać, że jego kod jest dobry. – Nemka