首页 > 解决方案 > 级别列表不适用于 ImageView - Android

问题描述

我在android中练习关卡列表并创建了一个小应用程序,但是当我尝试更改关卡时,图像视图中的图像没有改变......

默认情况下,它显示第一个图像level_list.xml

activity_main.xml

<ImageView
    android:id="@+id/imageButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:srcCompat="@drawable/level_list" />

level_list.xml

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

主活动.Kt

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val imageLevelList = findViewById<ImageView>(R.id.imageButton)
        imageLevelList.setImageLevel(0) //tried with 1
    }
}

提前致谢

标签: androiddrawable

解决方案


只需要更改文件中的android:maxLevel顺序level_list.xml

只需更改如下顺序:

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

推荐阅读