chciałabym podać tylko raz w RES/wartości/styles.xml wielkości dwóch wyboru, a ich cztery kształt kanału alfaJak zdefiniować rozmiar rysunków w pliku stylu?
- RES/rozciągliwej/cb1_checked.xml
- RES/odkształcalne/cb1_unchecked.xml
- RES/odkształcalne/cb2_checked.xml
- res/odkształcalne/cb2_unchecked.xml.
W ten sposób rozmiar pojawi się jeden raz w stylu, a nie cztery w miniaturekach.
Żadna z dwóch poniższych prób nie działa. Czy możesz zaproponować rozwiązanie? (Jeśli widzisz, co jest nie tak z tymi dwiema próbami, wspomnij o tym.)
----------------------------- ----------------------------------- Próba 1 ----------- -------------------------------------------------- ---
wymienić
res/odkształcalne/cb1_checked.xml
<size android:width="24dp"
android:height="24dp" />
z
Res// wartości styles.xml
<item name="android:layout_width">24dp</item>
<item name="android:layout_height">24dp</item>
------------------------------- --------------------------------- Próba 2 ------------- -------------------------------------------------- -
Dodaj
res/wartości/styles.xml
<item name="android:background">cb_background</item>
i zdefiniować tło rozciągliwej
RES/rozciągliwej/cb_background.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#00FF00"/>
<size android:width="24dp"
android:height="24dp" />
</shape>
-------------------- -------------------------------------------- Dodano --- -------------------------------------------------- -----------
Oto pełny zestaw plików XML:
res/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/MyLL"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<CheckBox
android:id="@+id/cb1"
style="@style/CB_style"
android:button="@drawable/cb1_selector"
android:height="@dimen/my24sp" />
<CheckBox
android:id="@+id/cb2"
style="@style/CB_style"
android:button="@drawable/cb2_selector"
android:height="@dimen/my24sp" />
</LinearLayout>
RES/wartości/style.xml
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
</style>
<style name="CB_style" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_weight">1</item>
<item name="android:layout_gravity">center_horizontal</item>
<item name="android:gravity">center</item>
<item name="android:checked">false</item>
</style>
Res/odkształcalne/cb1_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:constantSize="true">
<item android:state_checked="true"
android:drawable="@drawable/cb1_checked" />
<item android:state_checked="false"
android:drawable="@drawable/cb1_unchecked" />
</selector>
Res/odkształcalne/cb1_checked.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FF0000"/>
<size android:width="24dp"
android:height="24dp" />
</shape>
res/odkształcalne/cb1_unchecked.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#880000"/>
<size android:width="24dp"
android:height="24dp" />
</shape>
(i podobnie dla selektora CB2 i sprawdzane/niezaznaczone kanału alfa)
Robię dosłownie to samo i ta odpowiedź działa. PO powinien zaakceptować tę odpowiedź. –
Zrobiłem to samo, ale to nie jest praca. Mam następujący błąd: Błąd: Błąd: Szerokość (0) i wysokość (0) nie może być <= 0 ". Mam min skd tarket ustawiony na 19. – roroinpho21
@ roroinpho21 To brzmi prosto, ale wszystko, co można tu zasugerować, byłoby po prostu zgadywaniem. Dokładnie sprawdź i opublikuj pytanie. – Calaf