android高斯模糊填充imageview背景

说明:最近碰到一个需求,安卓app显示在线的url图片,然后imageview没占满的部分,使用该图片的模糊背景填充

效果图:

step1:~\app\build.gradle

bash 复制代码
    implementation 'com.github.bumptech.glide:glide:3.7.0'
    implementation 'jp.wasabeef:glide-transformations:2.0.1'

step2:~\app\src\main\AndroidManifest.xml

bash 复制代码
    <uses-permission android:name="android.permission.INTERNET" />

step3:~\app\src\main\res\layout\activity_main.xml

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_green_dark">


    <ImageView
        android:id="@+id/iv_bg"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        android:src="@mipmap/ic_launcher" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/iv_test"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:src="@mipmap/ic_launcher"
            android:visibility="visible" />
    </RelativeLayout>

</FrameLayout>

step4:~\app\src\main\java\com\example\iosdialogdemo\MainActivity.java

java 复制代码
package com.example.iosdialogdemo;


import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import com.bumptech.glide.Glide;

import jp.wasabeef.glide.transformations.BlurTransformation;

public class MainActivity extends AppCompatActivity {
    private String url = "http://img.netbian.com/file/2024/0517/small150904ck1C21715929744.jpg";
    private String url2 = "http://img.netbian.com/file/2024/0517/small151245krBn01715929965.jpg";
    private String url3 =  "http://img.netbian.com/file/2024/0519/small190753XKtgH1716116873.jpg";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Glide.with(this)
                .load(url)
                .bitmapTransform(new BlurTransformation(this))
                .into((ImageView) findViewById(R.id.iv_bg));

        Glide.with(this)
                .load(url)
                .into((ImageView) findViewById(R.id.iv_test));
    }
}

end

相关推荐
川石课堂软件测试3 分钟前
什么是BUG,你对BUG的了解有多少?
android·linux·服务器·python·功能测试·bug·安全性测试
玩机达人883 小时前
三星S25Ultra/S24安卓16系统Oneui8成功获取完美root权限+LSP框架
android·linux·里氏替换原则
居安思危_Ho4 小时前
RK平台Uniapp自启动缓存问题解决
android·缓存·uni-app·rk平台·uniapp资源文件
molong9314 小时前
Activity/Service/Broadcast/ContentProvider 生命周期交互
android·学习·交互
molong9316 小时前
Android 权限模型(前台、后台、特殊权限)
android
怪兽20147 小时前
Looper、MessageQueue、Message及Handler的关系是什么?如何保证MessageQueue的并发访问安全?
android·面试
奥尔特星云大使7 小时前
mysql高可用架构之MHA部署(二)VIP漂移(保姆级)
android·mysql·架构·mha·ip漂移
深海呐8 小时前
Android 编译速度优化:JVM堆内存扩充
android·jvm·jvm内存扩充·android 加快编译速度
心随雨下9 小时前
Flutter中新手需要掌握的几种Widget
android·flutter·ios