背景图像放置

Rya*_*yan 36 android background-image android-layout

我正在尝试将我的根LinearLayout元素(在两个维度中设置为fill_parent)设置为背景图像,无论设备的方向如何,该背景图像始终位于屏幕的左下角.如果有某种方法可以设置背景图像位置,例如使用"background-position:left bottom;"可以使用css执行的操作,这将是非常好的.但我没有看到在Android中实现这一目标的方法.有没有办法做到这一点?

谢谢您的帮助.

Yon*_*lan 81

您必须使用XML文件中的位图创建自定义位图drawable(例如"res/drawables/my_drawable.xml"

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/my_png_file"
    android:gravity="bottom|left" />
Run Code Online (Sandbox Code Playgroud)

然后将此drawable xml设置为视图的背景("@ drawables/my_drawable").然而,Android网站中的可绘制XML格式记录很少,因此找出如何自行解决绝对不是一个容易的问题.


net*_*ein 9

如果发现以编程方式执行此操作的优势:图像适合布局而不是更大.没有想法为什么.

代码:

Bitmap bmp = BitmapFactory.decodeResource(getResources(),
                R.drawable.image);
BitmapDrawable bitmapDrawable = new BitmapDrawable(bmp);
bitmapDrawable.setGravity(Gravity.BOTTOM|Gravity.RIGHT);
LinearLayout layout = (LinearLayout) findViewById(R.id.background_root);
layout.setBackgroundDrawable(bitmapDrawable);
Run Code Online (Sandbox Code Playgroud)