android - 如何在图层列表中设置可绘制大小

标签 android list android-layout size drawable

我在图层列表中设置可绘制对象的大小时遇到​​问题。我的 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/

相关文章:

java - 如何在我的应用程序中使用应用程序内更新 API

python - Pandas 计算 2 列中的值对,并以第三列为条件

Android:以编程方式在 FrameLayout 中设置边距 - 不起作用

Button 和 EditText 之上的 Android View 不会遮挡它们

android - 如何在 Android XML 布局中优化 'class name'?

安卓牛轧糖 : Detected problems with app native libraries

java - 引入D8 dexer后,android目前使用哪个编译器将Java编译成.class文件?

android - 英特尔 xdk jquery css 不工作

python - `list[]` 之类的东西在 Python 中引发 `SyntaxError` 是有原因的吗?

python遍历列表列表