用于更改应用程序背景动画的首选项

时间:2013-04-15 10:34:41

标签: java android list listpreference

我正在尝试在应用中进行设置,特别是ListPreference,以便能够更改应用的背景动画,但我无法做到,如果您选择选项1或选项2,则没有任何更改。我遵循了一个类似的教程并尝试让它适合我,但到目前为止还没有。 这是java

SharedPreferences backChooser = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    String values = backChooser.getString("list", "1");
    img = (ImageView) findViewById(R.id.imageView1);
    img.setBackgroundResource(R.drawable.anim1);
    animation = (AnimationDrawable) img.getDrawable();
    animation.start();

    if (values.contentEquals("1")) {
        img.setBackgroundResource(R.drawable.anim1);
        animation = (AnimationDrawable) img.getDrawable();
        animation.start();
    }
    if (values.contentEquals("2")) {
        img.setBackgroundResource(R.drawable.anim2);
        animation = (AnimationDrawable) img.getDrawable();
        animation.start();
    }

,这是首选项的xml

<?xml version="1.0" encoding="utf-8"?>

<ListPreference
    android:entries="@array/list"
    android:entryValues="@array/listvalues"
    android:key="list"
    android:summary="This is a list to choose from"
    android:title="List" />

1 个答案:

答案 0 :(得分:0)

这行代码

img.setBackgroundResource(R.drawable.anim1);

设置ImageView的“背景”。

就像这段代码一样

img.getDrawable();

获取ImageView的“Drawable”或其上的图像,而不是实际的“背景”图像。

由于您要检索曾经设置为“img”BG的图像,此代码

img.getBackground();

是你需要的那个。