Установить размер для отдельного слоя списка слоев из 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)
а нужна помощь то спрашивай:)