Android 如何为两种不同的变换处理一个图像源
小背景: 我正在构建一个媒体播放器应用程序,我希望我的应用程序看起来与下图类似 如您所见,同一图像成为背景,同时它也出现在圆形图像视图中 我的第一个方法是打两个不同的Android 如何为两种不同的变换处理一个图像源,android,android-glide,Android,Android Glide,小背景: 我正在构建一个媒体播放器应用程序,我希望我的应用程序看起来与下图类似 如您所见,同一图像成为背景,同时它也出现在圆形图像视图中 我的第一个方法是打两个不同的GlideApp电话 GlideApp.with(this) .load(R.drawable.hunting_party) .transforms( new CenterCrop(), new
GlideApp
电话
GlideApp.with(this)
.load(R.drawable.hunting_party)
.transforms(
new CenterCrop(),
new BlurTransformation(60),
new ColorFilterTransformation(Color.parseColor("#b3808080"))
)
.into(mMainBackground);
GlideApp.with(this)
.load(R.drawable.hunting_party)
.into(mAlbumArt);
但是,我想重用PreviorGlideApp
call,这样它就可以像下面这样工作
GlideApp.with(this)
.load(R.drawable.hunting_party)
.transforms(
new CenterCrop(),
new BlurTransformation(60),
new ColorFilterTransformation(Color.parseColor("#b3808080"))
)
.into(mMainBackground)
// now remove prior transformation
// and load into different view
.into(mAlbumArt);
任何建议都会有帮助
*基于Vishal的代码*
为了让RequestBuilder
接受transforms
,您应该使用RequestOptions
RequestBuilder<Drawable> glideRequestBuilder = GlideApp.with(this).load(R.drawable.hunting_party);
RequestOptions backgroundTransformOptions = new RequestOptions()
.transforms(
new CenterCrop(),
new BlurTransformation(60),
new ColorFilterTransformation(Color.parseColor("#b3808080"))
);
glideRequestBuilder
.into(mAlbumArt);
glideRequestBuilder
.apply(backgroundTransformOptions)
.into(mMainBackground);
RequestBuilder glideRequestBuilder=GlideApp.with(this.load)(R.drawable.hunting_party);
RequestOptions backgroundTransformOptions=新的RequestOptions()
.变换(
新的中心裁剪(),
新的转变(60),
新的ColorFilterTransformation(Color.parseColor(“b3808080”))
);
glideRequestBuilder
.进入(马尔布马特);
glideRequestBuilder
.应用(背景转换选项)
.进入(背景);
导入com.bumptech.glide.RequestBuilder
RequestBuilder glideRequestBuilder=GlideApp.with(this.load)(R.drawable.hunting_party);
glideRequestBuilder.transforms(
新的中心裁剪(),
新的转变(60),
新的ColorFilterTransformation(Color.parseColor(“b3808080”))
)
.进入(背景);
Glide.into(马尔布马特);
导入com.bumptech.glide.RequestBuilder
RequestBuilder glideRequestBuilder=GlideApp.with(this.load)(R.drawable.hunting_party);
glideRequestBuilder.transforms(
新的中心裁剪(),
新的转变(60),
新的ColorFilterTransformation(Color.parseColor(“b3808080”))
)
.进入(背景);
Glide.into(马尔布马特);
import com.bumptech.glide.RequestBuilder
RequestBuilder<Drawable> glideRequestBuilder = GlideApp.with(this).load(R.drawable.hunting_party);
glideRequestBuilder.transforms(
new CenterCrop(),
new BlurTransformation(60),
new ColorFilterTransformation(Color.parseColor("#b3808080"))
)
.into(mMainBackground);
glideRequestBuilder.into(mAlbumArt);