1

我以这种方式在图层列表中显示 2 张图像。以下是drawable中的layered_map.xml

    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
           <item android:drawable="@drawable/bgimage" />
           <item android:id="@+id/marker"
                 android:drawable="@drawable/point"
                 android:left="660sp"
                 android:right="210sp"
                 android:top="375sp"
                 android:bottom="1125sp"
           />
    </layer-list>

一切都很好。我得到一个大的背景图像和一个小的分层图像。除了现在我想做 android:left, android:right, android:top, android:bottom 在 xml 中做的事情,来自 Java 这是我尝试过的

      LayerDrawable layerDrawable = (LayerDrawable)getResources().getDrawable(R.drawable.layered_map);
      Drawable d = layerDrawable.findDrawableByLayerId(R.id.marker);
    d.setBounds(400, 300, 420, 320);
    //d.invalidateSelf();
    mImageView.setImageDrawable(layerDrawable);

但这不起作用。我还在某处读到,无法为不同的图层设置不同的界限。我也怀疑xml在其中所做的是否完全由setBounds完成。任何帮助将不胜感激

谢谢你

4

1 回答 1

1

是的,您可以使用 setLayerInset (int index, int l, int t, int r, int b)

看这里

需要帮助然后问:)

于 2013-05-03T13:00:51.780 回答