Установить размер для отдельного слоя списка слоев из Java

Таким образом, я показываю 2 изображения в списке слоев. Ниже приводится Layered_map.xml в Drawable

    <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: слева, Android: справа, Android: сверху, Android: снизу делать в 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. Любая помощь будет по достоинству оценена

Благодарю вас

1 ответ

Решение

Да, вы можете сделать это с помощью setLayerInset (int index, int l, int t, int r, int b)

Посмотреть здесь

а нужна помощь то спрашивай:)

Другие вопросы по тегам