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

问题描述 投票:0回答:1

我试图将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);
facebook drawable android-drawable profile-picture
1个回答
0
投票

看看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);
© www.soinside.com 2019 - 2024. All rights reserved.