ImageView将填充设置为4

时间:2014-05-20 08:47:51

标签: android imageview

我正在尝试从我的ImageView中删除填充,但它总是在所有边上留下4的填充。任何帮助将不胜感激。这是我的代码。

newmenuitem.xml (注意:newListAvatarSizeX = 190和newListAvatarSizeY = 150)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingRight="10dp"
android:id="@+id/layout">
<ImageView
    android:id="@+id/avatar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:maxWidth="?attr/newlistAvatarSizeX"
    android:maxHeight="?attr/newlistAvatarSizeY"
    android:adjustViewBounds="true"
    android:padding="0dp"
    android:layout_margin="0dp"
    />
<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@id/avatar"
    android:layout_toLeftOf="@id/viewprofile"
    android:layout_alignParentBottom="true"
    android:gravity="left|bottom"
    android:orientation="vertical"
    android:paddingLeft="5dp"
    android:paddingRight="10dp"

    >
    <TextView
        android:id="@+id/toptext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="false"
        android:gravity="bottom"
        style="?listContactsPrimaryText"
    />

</LinearLayout>
<ImageView
    android:id="@+id/arrow"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:adjustViewBounds="true"
    android:src="@drawable/arrowbutton"
    />

    final ImageView iv = (ImageView) v.findViewById(R.id.avatar);
    Bitmap bm = ((BitmapDrawable) getResources().getDrawable(R.drawable.image_none)).getBitmap();
    Matrix matrix = new Matrix();
    matrix.postScale(190 / bm.getWidth(), 150 / bm.getHeight());
    final Bitmap bmf = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), matrix, true);
    runOnUiThread(new Runnable() 
    {
        public void run() 
        {
            iv.setImageBitmap(bmf);
        }
    });

正如您从层次结构查看器中看到的那样,它仍然具有4的填充。

enter image description here

编辑:

我通过添加此内容进行了临时修复。

   android:layout_marginBottom="-4dp"
   android:layout_marginTop="-4dp"
   android:layout_marginLeft="-4dp"
   android:layout_marginRight="-4dp"

这不是好习惯,但至少它有效。如果那里有人知道为什么会这样,那真的很棒。

1 个答案:

答案 0 :(得分:0)

试试这个,

<ImageView
    android:id="@+id/avatar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:maxWidth="?attr/newlistAvatarSizeX"
    android:maxHeight="?attr/newlistAvatarSizeY"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    android:padding="0dp"
    android:layout_margin="0dp"
    />

这可能会对你有所帮助