Android 使用 Glide 的圆形头像边框
Android Border of Circular Profile Pic using Glide
问题已解决请查看下面的答案以了解情况
我正在尝试为从 Facebook 帐户下载的个人资料图片创建边框。但是即使在研究了 Whosebug 上的其他示例之后,我也无法正确地做到这一点。正在使用 Glide 库下载个人资料图片。这是我的代码:-
Glide库代码在Java
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);
}
});
ImageView 在 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英寸Phone{真实Phone}
5.5 英寸 phone{模拟器}
在您的可绘制文件上,不要使用椭圆形,而是将其更改为环形以获得完美的圆形,如下所示:
<shape android:shape="ring"
xmlns:android="http://schemas.android.com/apk/res/android" >
所以,我已经解决了这个问题,我的代码使用椭圆是 100% 正确的。
我所做的是将我放置该图像的相对布局固定为 90dp,这使其不合适,一旦我更正它以包装内容,它就非常适合。附上快照供其他人参考。
您可以创建 xml 文件并为 ImageView 设置背景或使用 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"
/>
问题已解决请查看下面的答案以了解情况
我正在尝试为从 Facebook 帐户下载的个人资料图片创建边框。但是即使在研究了 Whosebug 上的其他示例之后,我也无法正确地做到这一点。正在使用 Glide 库下载个人资料图片。这是我的代码:-
Glide库代码在Java
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);
}
});
ImageView 在 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英寸Phone{真实Phone}
5.5 英寸 phone{模拟器}
在您的可绘制文件上,不要使用椭圆形,而是将其更改为环形以获得完美的圆形,如下所示:
<shape android:shape="ring"
xmlns:android="http://schemas.android.com/apk/res/android" >
所以,我已经解决了这个问题,我的代码使用椭圆是 100% 正确的。
我所做的是将我放置该图像的相对布局固定为 90dp,这使其不合适,一旦我更正它以包装内容,它就非常适合。附上快照供其他人参考。
您可以创建 xml 文件并为 ImageView 设置背景或使用 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"
/>