【问题标题】:Set size for individual layer of layer-list from Java从 Java 中为 layer-list 的各个层设置大小
【发布时间】:2013-05-03 12:52:40
【问题描述】:

我以这种方式在图层列表中显示 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完成。 任何帮助将不胜感激

谢谢

【问题讨论】:

    标签: android layer-list


    【解决方案1】:

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

    See here

    需要帮助然后问:)

    【讨论】:

    • 感谢 mit B。首先感谢您的快速回复和正确答案。它有效。
    猜你喜欢
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2011-07-04
    • 1970-01-01
    相关资源
    最近更新 更多