Jak dodać obramowanie do przycisku? Czy można to zrobić bez odwoływania się do zdjęć?Android - obramowanie przycisku
Odpowiedz
Krok 1: Utwórz plik o nazwie: my_button_bg.xml
Krok 2: Umieść ten plik w res/drawables.xml
Krok 3: Wstaw poniżej kodu
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient android:startColor="#FFFFFF"
android:endColor="#00FF00"
android:angle="270" />
<corners android:radius="3dp" />
<stroke android:width="5px" android:color="#000000" />
</shape>
Krok 4: Użyj kodu „android: tło =” @ rozciągliwej/my_button_bg”w razie potrzeby np poniżej:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your Text"
android:background="@drawable/my_button_bg"
/>
Proszę spojrzeć tu o stworzenie kształtu rozciągliwej http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
Gdy już to zrobisz, w formacie XML dla przycisku ustawić android:background="@drawable/your_button_border"
wiem, że około roku późno, ale można również utworzyć obraz 9 ścieżki jest to narzędzie, które pochodzi z android SDK, który pomaga w tworzeniu takiego obrazu Zobacz ten link: http://developer.android.com/tools/help/draw9patch.html
PS: obraz może być nieskończenie skalowane także
tworzyć rozciągliwej/button_ green.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#003000"
android:centerColor="#006000"
android:endColor="#003000"
android:angle="270" />
<corners android:radius="5dp" />
<stroke android:width="2px" android:color="#007000" />
</shape>
i wskazać ją jako @drawable/button_green
:
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/button_green"
android:text="Button" />
Tworzenie button_border.xml
plik w folderze rozciągliwej.
RES/rozciągliwej/button_border.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#FFDA8200" />
<stroke
android:width="3dp"
android:color="#FFFF4917" />
</shape>
i przycisk dodaj do układu działalności XML i ustawić tło android:background="@drawable/button_border"
.
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_border"
android:text="Button Border" />
Jeśli twój przycisk nie wymaga przezroczystego tła, możesz utworzyć iluzję ramki przy użyciu układu ramki. Wystarczy dostosować atrybut "dopełnienie" FrameLayout, aby zmienić grubość obramowania.
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="1sp"
android:background="#000000">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Your text goes here"
android:background="@color/white"
android:textColor="@color/black"
android:padding="10sp"
/>
</FrameLayout>
Nie jestem pewien, czy pliki xml kształtu mają dynamicznie edytowalne kolory obramowania. Ale wiem, że dzięki temu rozwiązaniu można dynamicznie zmieniać kolor obramowania, ustawiając tło FrameLayout.
w układzie XML:
<Button
android:id="@+id/cancelskill"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="25dp"
android:layout_weight="1"
android:background="@drawable/button_border"
android:padding="10dp"
android:text="Cancel"
android:textAllCaps="false"
android:textColor="#ffffff"
android:textSize="20dp" />
w folderze rozciągliwej, utwórz plik o styl obramowania przycisku w:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<stroke
android:width="1dp"
android:color="#f43f10" />
</shape>
aw swojej działalności:
GradientDrawable gd1 = new GradientDrawable();
gd1.setColor(0xFFF43F10); // Changes this drawbale to use a single color instead of a gradient
gd1.setCornerRadius(5);
gd1.setStroke(1, 0xFFF43F10);
cancelskill.setBackgroundDrawable(gd1);
cancelskill.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cancelskill.setBackgroundColor(Color.parseColor("#ffffff"));
cancelskill.setTextColor(Color.parseColor("#f43f10"));
GradientDrawable gd = new GradientDrawable();
gd.setColor(0xFFFFFFFF); // Changes this drawbale to use a single color instead of a gradient
gd.setCornerRadius(5);
gd.setStroke(1, 0xFFF43F10);
cancelskill.setBackgroundDrawable(gd);
finish();
}
});
- 1. JavaFx: Obramowanie przycisku i unosić się
- 2. Jak narysować obramowanie wokół przycisku NSTextextSquareBezelStyle
- 3. Obramowanie w kształcie xml
- 4. Długie naciśnięcie przycisku Android
- 5. Android - domyślny styl przycisku
- 6. Android: niestandardowy kształt przycisku
- 7. Android utworzyć „płaski przycisku”
- 8. Dziwne niebieskie obramowanie na Firefox
- 9. Wyjmij obramowanie 1px pod UISearchBar
- 10. Android Programowo ustawiający tekst przycisku
- 11. Jak usunąć cień przycisku (Android)
- 12. Android: Rysowanie przycisku jako pokrętła
- 13. Zastępowanie przycisku Wstecz systemu Android
- 14. Android dodać obraz do przycisku
- 15. Zachowanie przycisku Wstecz systemu Android
- 16. Jak usunąć obramowanie na układ
- 17. Obramowanie bitmapy z zaokrąglonymi narożnikami w systemie Android
- 18. Jak dodać obramowanie wokół TableLayout?
- 19. obramowanie dla EditText?
- 20. Obramowanie kolorów obramowania
- 21. Obramowanie z trzech stron
- 22. Obramowanie wokół znacznika li
- 23. Białe obramowanie wokół GroupBox
- 24. Obramowanie na trójkącie
- 25. Umieść obramowanie wokół punktów
- 26. Obramowanie wokół wprowadzania tekstu w formularzu HTML
- 27. Tło przycisku Android jako kształt z Shadow
- 28. Wyrównanie przycisku Android do dołu w RelativeLayout?
- 29. Jak ustawić tekst przycisku obrazu (Android)?
- 30. Android - multi onClick Listener w jednym przycisku
http: //przepełnienie stosu.com/questions/7626554/android-draw-border-in-viewview/7626628 # 7626628 Tak samo jak tutaj :) – asenovm