我在下面上传了两张图片,并且在没有我添加的情况下会自动在布局中创建某种多余的填充。
图片1:
当图像处于横向时,多余填充位于侧。
图片2:
当图像处于纵向时,多余的填充位于图像的顶部和底部。
多余的填充占据了布局上的空间,因此成为一个问题。
XML:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/separator"
android:dividerPadding="12dip"
android:showDividers="middle"
android:layout_margin="10dip"
android:orientation="vertical" >
<ImageView
android:id="@+id/itemItem"
android:src="@drawable/content_picture"
android:tag="image_item_grid_image"
android:background="@drawable/layout_bg"
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
android:layout_height="wrap_content"
android:padding="10dip"
android:contentDescription="Desc"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/textPid"
android:layout_below="@+id/itemItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dip"
android:text="TextView" />
<TextView
android:id="@+id/textName"
android:layout_below="@+id/textPid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dip"
android:text="TextView" />
<TextView
android:id="@+id/textSellingPrice"
android:layout_below="@+id/textName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dip"
android:text="TextView" />
<RatingBar
android:id="@+id/ratingBar1"
android:layout_below="@+id/textSellingPrice"
android:layout_width="wrap_content"
android:layout_margin="10dip"
android:layout_height="wrap_content" />
</RelativeLayout >
</ScrollView >
Java:以编程方式将图像置于中心位置。
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT));
params.height = height / 2;
params.width = width / 2;
params.topMargin = 20;
params.alignWithParent = true;
params.addRule(RelativeLayout.CENTER_HORIZONTAL);
mImageView.get().setLayoutParams(params);
mImageView.get().setImageBitmap(bitmap.get());