xml - android drawable selector compatibility issue -
xml - android drawable selector compatibility issue -
i had button drawable selector set background.
button_sign_in_background.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/button_sign_in_background_selected" android:state_focused="true" /> <item android:drawable="@drawable/button_sign_in_background_selected" android:state_pressed="true" /> <item android:drawable="@drawable/button_sign_in_background_selected" android:state_selected="true" /> <item android:drawable="@drawable/button_sign_in_background_normal" /> </selector>
button_sign_in_background_normal.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:visible="true"> <corners android:radius="@dimen/abc_control_corner_material" /> <solid android:color="@color/color_primary" /> </shape>
button_sign_background_selected.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="@dimen/abc_control_corner_material" /> <solid android:color="@color/color_primary_dark" /> </shape>
i tested in 2 different devices, 1 api 21 , api 10. background button_sign_in_background.xml
can't show in api 10, works in api 21 device.
if utilize color straight in button_sign_in_background.xml
following, both devices work. not effect need, want little radius corner surround button.
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/color_primary_dark" android:state_focused="true" /> <item android:drawable="@color/color_primary_dark" android:state_pressed="true" /> <item android:drawable="@color/color_primary_dark" android:state_selected="true" /> <item android:drawable="@color/color_primary" /> </selector>
is compatibility problem in old android device?
how can solve it? kind of comment , reply welcomed.
i utilize next code solve compatibility issue. tested api level 10 (android 2.3.3). after show background drawable manually, works fine. if there more versions have compatibility issue, comment welcomed.
if (build.version.sdk_int <= build.version_codes.gingerbread_mr1) { memailsigninbutton.setbackgrounddrawable( getresources().getdrawable(r.drawable.button_sign_in_background)); }
android xml android-drawable android-compatibility
Comments
Post a Comment