我正在使用 TouchImageView 根据特定条件显示带有自定义图层的地图。用于 TouchImageView 的 drawable 是在 xml 中声明的 LayerDrawable。
声明了 TouchImageView:
<com.example.app.TouchImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/layer"
android:id="@+id/map"/>
drawable 是一个 LayerDrawable:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bgverkenning3" />
<item android:drawable="@drawable/blauwpng2" />
</layer-list>
这很好用,但是一旦我尝试设置它,我得到的只是一个白屏。我尝试使用 setImageResource 设置它。setImageDrawable 也不起作用。
map = (TouchImageView)findViewById(R.id.map);
map.setImageResource(R.drawable.layerenergie);
试过了,它不起作用:
LayerDrawable ld = (LayerDrawable)map.getDrawable();
ld.setDrawableByLayerId(1, getResources().getDrawable(R.drawable.blauwpng2));
map.setImageDrawable(ld);