2

什么是等效的 java 代码<item android:left="10dp">

更具体地说,我试图以编程方式获得一个相当于:

<item android:left="5dp" android:bottom="5dp">
    <bitmap 
        android:src="@drawable/screw"
        android:gravity="bottom|left" />
</item>

编辑

到目前为止,我得到了:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = false;
Bitmap screw = BitmapFactory.decodeResource(res, resId, options);    
BitmapDrawable s = new BitmapDrawable(res, screw);
s.setGravity(Gravity.LEFT|Gravity.BOTTOM);
4

1 回答 1

1

您可以很容易地从 xml 中膨胀视图,或者如果您以编程方式加载可绘制对象,则应使用文档:http: //developer.android.com/reference/android/graphics/drawable/LayerDrawable.html

自从我使用 java/android 以来已经有一段时间了,但是像这样。

Drawable[] layers = [drawable1, drawable2, etc]
LayerDrawable mDrawable = new LayerDrawable(layers);
//mDrawable.setLayerInset(int index, int left, int top, int right, int bottom)
//you will have to manually calculate density pixels.
mDrawable.setLayerInset(0, 5, 0, 0, 5)
于 2013-03-11T07:19:14.267 回答