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

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -