gpt4 book ai didi

android - 在 ImageView 的图像上设置背景

转载 作者:太空狗 更新时间:2023-10-29 12:41:41 25 4
gpt4 key购买 nike

我的 gridView 使用 Picasso 显示本地存储中的图像 (imageItem)。通过单击右上角的选择图标来选择图像时,图像的状态会发生变化,并且在选定状态下,图像具有蓝色边框,如下所示: blue border

我试过这样的:

public void onClick(View v) {
if(!v.isSelected()){
imageItem.setBackgroundResource(R.drawable.photoborder);
}else{
imageItem.setBackgroundDrawable(null);
}
}
});

当图像还没有加载时,我确实看到了边框。当 Picasso 完成加载图像时,边框已被覆盖:

border has been covered

如何在ImageView中设置图片边框?非常感谢您的任何建议!!

这是每个图像项的布局:

    <?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"
android:orientation="vertical" >

<custome.SquaredImageView
android:id="@+id/image_item_in_gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/ic_launcher"
android:background="@drawable/attachment_gallery_images_items_background" />

<ImageView
android:id="@+id/imageCheckStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="2dp"
android:layout_marginTop="2dp"
android:padding="2dp"
android:src="@drawable/abc_ic_cab_done_holo_dark" />

</RelativeLayout>

最佳答案

您的布局有 2 个 View ; SquaredImageView 显示图像,ImageView 作为选择指示器。当您为 SquaredImageView 设置背景时,它将放置在 SquaredImageView 后面(因为它是背景)。

你需要的是在SquaredImageView前面添加一个View,然后在代码中修改它的背景。

在您的 XML 布局中添加一个 View:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="right">

<custome.SquaredImageView
android:id="@+id/image_item_in_gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher"
android:background="@drawable/attachment_gallery_images_items_background" />

<View
android:id="@+id/imageCheckBorder"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/photoborder" />

<ImageView
android:id="@+id/imageCheckStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="2dp"
android:layout_gravity="right"
android:layout_marginTop="2dp"
android:padding="2dp"
android:src="@drawable/abc_ic_cab_done_holo_dark" />

</FrameLayout >

然后修改代码以更改 View 的背景,而不是 SquaredImageView。 (在这个例子中,它被命名为imageCheckBorder)

public void onClick(View v) {
if(!v.isSelected()){
imageCheckBorder.setBackgroundResource(R.drawable.photoborder);
}else{
imageCheckBorder.setBackgroundDrawable(null);
}
}

关于android - 在 ImageView 的图像上设置背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24729145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com