Android:浮动操作按钮图像资源和图像可绘制问题

问题描述

图书馆:implementation 'com.google.android.material:material:1.0.0'

XML:

  <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="@dimen/dimen_16_dp"
            android:visibility="visible"
            app:fabCustomSize="80dp"
            app:maxImageSize="80dp"
            android:scaleType="center"
            android:layout_alignParentEnd="true"
            android:layout_above="@id/layout_privacycardview"
            android:padding="0dp"
            android:src="@drawable/ic_football" />

输出

Desired result

现在,我想以编程方式以及使用 Glide 动态设置图像资源。

   String url = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSyKmXIim9sp4B4Mn1N_NJtRkzvkStZo_s5pA&usqp=CAU";
        Glide.with(HomeScreenActivity.this).load(url).into(fab); 

输出

Issue

如何使用 Glide 动态设置图片资源,使其拥有合适的 imageSize 等

解决方法

您需要制作如下图标圆圈 -

 String url = "https://encrypted-tbn0.gstatic.com/images? 
 q=tbn:ANd9GcSyKmXIim9sp4B4Mn1N_NJtRkzvkStZo_s5pA&usqp=CAU";

    Glide.with(HomeScreenActivity.this) 
    .load(url)
    .apply(RequestOptions.circleCropTransform())
    .into(fab);
,

随便用

.override(width,height) 并传入所需的宽度和高度值,并添加 .apply(RequestOptions.circleCropTransform())

示例:-

Glide.with(HomeScreenActivity.this).load(url).override(80,80).apply(RequestOptions.circleCropTransform())into(fab);