小背景: 我正在构建一个媒体播放器应用程序,我希望我的应用程序看起来类似于下图。
如您所见,同一张图片变成背景,同时也出现在圆圈图像视图中。
我的第一种方法是进行两个不同的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);
但是,我想重用之前的GlideApp
调用,以便它可以像下面那样工作。
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);
答案 0 :(得分:4)
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);