Imageview没有填满整个布局

时间:2014-08-02 09:12:50

标签: android xml android-layout imageview

这就是我应该做的:

enter image description here

但这就是我所得到的:

enter image description here

这是我的代码的一个小相关部分:

  <RelativeLayout
        android:id="@+id/layout_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="30dp"
        android:layout_weight="0.1"
        >

         <LinearLayout
            android:id="@+id/box"
            android:layout_width="140dp"
            android:layout_height="140dp"
            android:layout_below="@+id/txt_scene_adress"
            android:layout_centerInParent="true"
            android:paddingBottom="60dp"
            android:paddingLeft="24dp"
            android:paddingRight="20dp"
            android:paddingTop="35dp" >   

       <ImageView
                android:id="@+id/image_view"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/shape"
                android:contentDescription="@string/desc_image"
                android:cropToPadding="true"
                android:scaleType="fitCenter"
                android:src="@drawable/ic_launcher" />
        </LinearLayout>

        <TextView
            android:id="@+id/txt_scene_adress"
            style="@style/txt_adress_style"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_alignParentTop="true"
            android:layout_margin="0dp"
            android:background="@drawable/text_shape_source"
            android:text="adress" />
    </RelativeLayout>

这是 shape.xml:

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="4dp" android:color="@color/background_game" />
<padding  android:top="4dp"  android:bottom="4dp"/>
</shape>

正如您所看到的那样,图像视图并没有填满整个布局。很多但是找不到任何解决方案。帮助。

3 个答案:

答案 0 :(得分:1)

这是你的问题:

android:scaleType="fitCenter"

适合中心对其进行缩放,使得两个维度中较大的一个完全填充宽度,并且宽度与高度的比率保持均匀。你想使用其他东西,可能是centerCrop。您希望保持纵横比相同,但您想要完全填充视图 - 这将消除所有适合类型,这意味着您的部分图像将被裁剪掉。

答案 1 :(得分:0)

尝试此代码.....

    <LinearLayout
        android:id="@+id/box"
        android:layout_width="140dp"
        android:layout_height="140dp"
        android:layout_below="@+id/txt_scene_adress"
        android:layout_centerInParent="true"
        android:paddingBottom="60dp"
        android:paddingLeft="24dp"
        android:paddingRight="20dp"
        android:paddingTop="35dp" >

        <ImageView
            android:id="@+id/image_view"
            android:layout_width="fill_parent" // use fill parent to have full width to fit in LinearLayout above
            android:layout_height="fill_parent"
            android:cropToPadding="true"
            android:scaleType="centerCrop"
            android:background="@drawable/shape"
            android:contentDescription="@string/desc_image"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>

    <TextView
        android:id="@+id/txt_scene_adress"
        style="@style/txt_adress_style"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_alignParentTop="true"
        android:layout_margin="0dp"
        android:background="@drawable/text_shape_source"
        android:text="adress" />
</RelativeLayout>

答案 2 :(得分:0)

试试这个:

android:scaleType="center"

参考:Android background Image to fill screen