0

我有一个 gridView 布局来显示图像,我想在图像上放置一个小图标作为标记。

这是我的代码:

ImageView i;
    if (convertView == null) {  
        i = new ImageView(mContext);
        i.setLayoutParams(new GridView.LayoutParams(width, height));
        i.setPadding(10, 10, 10, 10);
        i.setScaleType(ImageView.ScaleType.CENTER_CROP);

    } else {
        i = (ImageView) convertView;
    }

    if(mImageSet == IMAGE_SET_ONE) { 
            boolean cek = true;
            i.setImageBitmap(decodeSampledBitmapFromResource(mContext.getResources(),mThumbIds[position],width,width)); 

    }

请帮忙..

4

2 回答 2

3

ImageView 小部件具有用于设置背景和前景图像的内置功能。您可以查看它在 xml 中的样子,可以使用 ImageView 上的 setImageResource 和 setImageBackground 方法设置 src 和 background 字段。

<?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" >

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_centerInParent="true"
        android:background="@color/pink"
        android:src="@drawable/facebook_icon" />

</RelativeLayout>

第一个例子

唯一的问题是 src(覆盖)图像将匹配图像视图的高度或宽度。

因此,为了解决这个问题,您将让您在相对中使用多个图像视图并分别设置背景或 src。

<?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" >

    <ImageView
        android:layout_width="120dp"
        android:layout_height="120dp"
        android:layout_centerInParent="true"
        android:background="@color/pink" />

        <ImageView
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_centerInParent="true"
        android:src="@drawable/facebook_icon" />

</RelativeLayout>

第二个例子

于 2013-07-24T15:08:54.780 回答
0
<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:translationZ="10dp">

    <ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        app:srcCompat="@raw/image" />

    <ImageView
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:layout_gravity="right|bottom"
        android:layout_marginRight="10dp"
        android:background="#f00"
        android:padding="5dp"
        app:srcCompat="@drawable/ic_baseline_photo_camera_24" />
</FrameLayout>

用 srcCompat 替换你的图片

于 2020-10-23T11:23:33.060 回答