如何将ProfilePictureView更改为圆形图像。 Drawable无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将ProfilePictureView更改为圆形图像。 Drawable无法正常工作相关的知识,希望对你有一定的参考价值。

我试图将ProfilePictureView更改为带有drawable的圆形图像。但它没有用。

这是我的ProfilePictureView的xml

     <com.facebook.login.widget.ProfilePictureView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/profilePicture" />

这是我的drawable文件circle.xml

    <?xml version="1.0" encoding="utf-8"?>

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <solid
        android:color="#666666"/>

    <size
        android:width="120dp"
        android:height="120dp"/>
</shape>

这是功能

        profilePictureView = view.findViewById(R.id.profilePicture);
        profilePictureView.setProfileId(userId);
        profilePictureView.setBackgroundResource(R.drawable.circle);
答案

看看this answer。它们提供了一个可以使用的编辑过的ProfilePictureView类,它将舍入效果应用于与配置文件ID关联的图像。

我在上面的答案中遗漏的一点是你需要在Java和XML中更改名称空间声明以指向新文件的位置。

在XML中,这意味着改变:

<com.facebook.login.widget.ProfilePictureView
    ...
/>

至:

<com.myapp.mypackage.view.ProfilePictureView
    ...
/>

在Java中更改import语句后,您所要做的就是提供配置文件ID。

profilePictureView = view.findViewById(R.id.profilePicture);
profilePictureView.setProfileId(userId);

以上是关于如何将ProfilePictureView更改为圆形图像。 Drawable无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

获取 ProfilePictureView Android Studio 的数据

将Google地图圆半径设置为输入框值

在 Android 上构建圆框相机

如何将 '>' 更改为 '>' 和 '>' 更改为 '>'? [复制]

如何将 Spyder 编辑器背景更改为深色?

如何将 \\ 更改为 \