我在图层列表中设置可绘制对象的大小时遇到问题。我的 XML 如下所示:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/menu_drawable1"/>
<item android:drawable="@drawable/menu_drawable2"/>
</layer-list>
Drawable1 比 Drawable2 大,所以 Drawable2 被调整大小。如何覆盖它并设置 Drawable2 的原始大小?我不希望它调整大小。我尝试设置宽度和高度,但这不起作用。而且drawables实际上不是位图,它们是选择器,所以我不能使用位图技巧。
看起来我已经通过使用“左”和“右”获得了一半的解决方案,但是,这仍然不能让我自动设置图像的确切大小。现在我的 xml 看起来像这样:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/menu_drawable1"/>
<item android:drawable="@drawable/menu_drawable2" android:right="150dp"/>
</layer-list>
最佳答案
您可以为此使用插入标签。 例如
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/menu_drawable1"/>
<item>
<inset android:drawable="@drawable/menu_drawable2"
android:insetRight="50dp"
android:insetTop="50dp"
android:insetLeft="50dp"
android:insetBottom="50dp" />
</item>
这将在您的 menu_drawable2 周围创建填充,因此它不会被缩放。只需设置您需要的尺寸即可。
关于android - 如何在图层列表中设置可绘制大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7105019/