说明:最近碰到一个需求,安卓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