0

我正在从 Internet 下载位图,然后将此位图转换为 Drawable 以将其设置为我的 LinearLayout 中的背景。

我看到不幸的是图像被缩放以填充视图,我如何缩放图像直到最小尺寸到达边界(所以它没有被拉伸)?(并且可能居中)

我已经尝试过这样的事情,但没有任何成功。我在路上吗?

        LinearLayout layout = (LinearLayout) context.findViewById(R.id.main);
        Drawable picture = new BitmapDrawable(context.getResources(), bitmap);
        Display display = context.getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        picture.setBounds(0, 0, size.x, size.y);
        layout.setBackgroundDrawable(picture);
4

2 回答 2

1

我认为,不建议在应用程序上使用缩放图像。最好的做法是使用重复的模式。所以,我会尝试这样的事情:

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/background-image-repeatable-pattern.png" 
android:tileMode="repeat" />

将此保存到 drawable/background.xml 文件(例如)

于 2012-08-30T14:06:10.310 回答
1

我想你需要这样的东西吗?

 setScaleType(ScaleType.CENTER_CROP);

请参阅http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

于 2012-08-30T13:56:05.887 回答