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

相关推荐
Mr.pyZhang4 小时前
Android构建系统 - 04 编译产物
android·linux
守城小轩10 小时前
Brave 132 编译指南 Android 篇 - 编译准备:系统要求与推荐工具 (三)
android·chrome·chrome devtools·指纹浏览器·浏览器开发·brave
m0_7482384210 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
程序员江同学11 小时前
Kotlin 技术月报 | 2025 年 2 月
android·kotlin
甜于酸12 小时前
MuMu模拟器Pro for Mac 安卓手机平板模拟器
android·macos·智能手机
顾林海15 小时前
深入解析 Android Activity 生命周期
android
XuanRanDev16 小时前
【构建工具】Gradle Kotlin DSL中的大小写陷阱:BuildConfigField
android·开发语言·kotlin
Nathan2024061619 小时前
Room - 基本使用及使用问题
android·面试·android jetpack
攻城狮_Dream21 小时前
基于 Python 的项目管理系统开发
android·数据库·python
zhangphil21 小时前
Android AsyncLayoutInflater异步加载xml布局文件,Kotlin
android·kotlin