2015-03-05 2 views
3

start_background.xmlандроид ImageView с уровня-списка не работают

<?xml version="1.0" encoding="utf-8"?> 
<level-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:drawable="@color/grey" 
    android:maxLevel="1" 
    /> 
<item 
    android:drawable="@color/grey" 
    android:maxLevel="2" 
    /> 
<item 
    android:drawable="@color/grey" 
    android:maxLevel="3" 
    /> 

</level-list> 

start_activity.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent" 

android:id="@+id/page" 
> 
<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/start_background" 
    android:id="@+id/start" 
    /> 
</LinearLayout> 

код Java

ImageView image= (ImageView)findViewById(R.id.start); 
LevelListDrawable background=(LevelListDrawable)image.getBackground(); 
background.setLevel(3); 

, но он не может изменить цвет фона, я попробуйте изменить андроид: фон для android: src, он тоже не работает.

LogCat:

2690-2705/com.jifa.runandcatch2 W/EGL_emulation﹕  eglSurfaceAttrib not implemented 
2690-2705/com.jifa.runandcatch2 W/OpenGLRenderer﹕ Failed to set EGL_SWAP_BEHAVIOR on surface 0xae0e1de0, error=EGL_SUCCESS 

, как ее решить, спасибо.

ответ

3

Использование:

image.setImageLevel (3);

вместо того, чтобы, чем:

LevelListDrawable фон = (LevelListDrawable) image.getBackground(); background.setLevel (3);

Смежные вопросы