我有这个horizontalscrollview在页面顶部显示我的图像。
<HorizontalScrollView
android:id="@+id/horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="none" >
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
android:contentDescription="@null" />
</HorizontalScrollView>
我的图片是PNG图片(3735 * 400)51.3 KB 我已经尝试过本教程了 http://developer.android.com/training/displaying-bitmaps/index.html?
然后图像出现了,但它缩小了。 恩。我希望图像的高度是我屏幕的1/3,但它只有1/6。
无论如何要以实际尺寸显示大抽奖吗?
*对于缩放图像时的代码。 我在教程中使用了BitmapWorkerTask类,它是一个Asynctask。 它调用此函数
public static Bitmap decodeSampledBitmapFromResource(Resources res,
int resId, int reqWidth, int reqHeight) {
// First decode with inJustDecodeBounds=true to check dimensions
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(res, resId, options);
// Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, reqWidth,
reqHeight);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
return BitmapFactory.decodeResource(res, resId, options);
}
像这样
decodeSampledBitmapFromResource(getResources(), data, 100,
100);
我知道这会将图像的大小更改为100 * 100像素。 但是当我将参数从100更改为其他数字时,我的图像就不会显示出来。 所以我坚持下去。
在LogCat中它说 &#39;位图太大而无法上传到纹理中(4980x533,max = 4096x4096)
当我将图像从drawable-hdpi移动到drawable-nodpi时,图像变得更大,但不是我想要的尺寸。
答案 0 :(得分:1)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="14dp"
android:background="@drawable/images" />
</HorizontalScrollView>
</RelativeLayout>
它对我来说很好
答案 1 :(得分:1)
更改
android:scaleType="center"
到
android:scaleType="fitXY"
并添加 -
android:adjustViewBounds="false"