Luk*_*ela 15 android background bitmap layer-list
我有以下drawable set作为背景:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/base_bg"
android:gravity="bottom" />
</item>
<item android:top="10dp" android:left="10dp">
<bitmap android:src="@drawable/decoration1"
android:gravity="top|right"
android:width="25dp"
android:height="25dp" />
</item>
<item android:top="10dp" android:left="10dp">
<bitmap android:src="@drawable/decoration2"
android:gravity="top|right"
android:width="25dp"
android:height="25dp"
/>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
它显示所有位图(base_bg,decoration1和decoration2),但我找不到修改它们大小的方法.我想拥有主要背景,并在其上面根据dpi具有不同尺寸的装饰.有没有一种简单的方法可以做到这一点,或者我真的必须为不同的dpi有一堆"装饰"?这不好,我想改为scale/resize选项!
在android:width和android:height属性的东西,我想了解,但我知道,这是行不通的.目前我正在为不同的DPI使用不同的版本,但希望它可以更加用户友好.
Dav*_*sse 11
我不知道这些图像是怎么样的,但是,例如,你可以制作一个大图像并在项目android:drawable字段中使用它,这样图像就可以获得项目的大小.
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<bitmap android:src="@drawable/base_bg"
android:gravity="bottom" />
</item>
<item android:top="10dp" android:left="10dp" android:drawable="@drawable/decoration1">
</item>
<item android:top="10dp" android:left="10dp" android:drawable="@drawable/decoration2">
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
其他解决方案可能是使用LayerDrawable(此处)和Drawable(此处)类以编程方式执行此操作.您可以使用3个可绘制对象构造图层对象,然后使用方法setBounds(Rect)在每个Drawable对象上选择正确的大小.
我希望它对你有所帮助.
| 归档时间: |
|
| 查看次数: |
30898 次 |
| 最近记录: |