2

已解决的问题请查看下面的我的答案以了解


我正在尝试创建从 Facebook 帐户下载的个人资料图片的边框。但是即使在学习了stackoverflow的其他示例之后,我也无法正确地做到这一点。正在使用 Glide 库下载个人资料图片。这是我的代码:-

Java 中的 Glide 库代码

Glide.with(Home.this).load(url).asBitmap().into(new BitmapImageViewTarget(profile_pic){
            @Override
            protected void setResource(Bitmap resource) {
                RoundedBitmapDrawable circular = RoundedBitmapDrawableFactory.create(getApplicationContext().getResources(),resource);
                circular.setCircular(true);
                profile_pic.setImageDrawable(circular);
            }
        });

XML 中的图像视图

<ImageView
        android:id="@+id/profile_pic"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:src="@mipmap/ic_launcher"
        android:padding = "5dp"
        android:background="@drawable/profile_pic_border"/>

在 Drawable 中绘制边框

<shape android:shape="oval"
xmlns:android="http://schemas.android.com/apk/res/android" >
<stroke
    android:width="5dp"
    android:color="#3e65b4"/>
<size android:height="50dp"
android:width="50dp"/>

这是我从上面的代码中实现的目标:-

5.7寸手机{真手机} 在此处输入图像描述

5.5寸手机{模拟器}

在此处输入图像描述

4

3 回答 3

2

所以,我已经解决了这个问题,我的代码使用椭圆是 100% 正确的。

我所做的是我将图像固定为 90dp 的相对布局,这使得它不合适,一旦我纠正它以包装内容,它就非常适合。附上截图供其他人参考。

在此处输入图像描述

于 2017-10-10T21:07:06.163 回答
1

在您的可绘制文件上,不要使用椭圆形,而是将其更改为环形以获得完美的圆形,如下所示:

<shape android:shape="ring"
xmlns:android="http://schemas.android.com/apk/res/android" >
于 2017-10-10T20:43:53.373 回答
-2

您可以为 ImageView 创建一个 xml 文件和 setBackground 或使用github中的库 和代码

<de.hdodenhof.circleimageview.CircleImageView
                                android:id="@+id/act_detail_job_img_company"
                                android:layout_width="match_parent"
                                android:layout_height="match_parent"
                                android:layout_centerHorizontal="true"
                                android:background="@android:color/transparent"
                                android:src="@drawable/user"
                                app:civ_border_color="#FFFFFFFF"
                                app:civ_border_width="2dp"
                                />
于 2018-05-05T15:06:47.780 回答