我同时使用两个库来处理照片。
1.implementation'com.github.bumptech.glide:glide:4.7.1' 注解处理器'com.github.bumptech.glide:compiler:4.7.1'
(https://github.com/bumptech/glide) 2.编译“ co.gofynd.library:gravity-view:1.0” (https://github.com/gofynd/gravity-view)
我想使用Glide库从互联网上获取照片,然后使用 重力库 但是库的输入是imageview和int drawable。 我无法获取int可绘制的输入 我的重力库代码:
private void setGravityMotion()
{
gravityView = GravityView.getInstance(this);
if (!gravityView.deviceSupported())
{
return;
} else
{
gravityView.setImage(imageView, R.drawable.background)
.center();
Toast.makeText(this, "ok", Toast.LENGTH_SHORT).show();
}
}
我应该怎么做而不是R.drawable.background?
答案 0 :(得分:1)
请检查您需要使用的可绘制图形的屏幕截图。
private void setGravityMotion()
{
gravityView = GravityView.getInstance(this);
if (!gravityView.deviceSupported())
{
return;
} else
{
gravityView.setImage(imageView, R.drawable.ic_3d)
.center();
Toast.makeText(this, "ok", Toast.LENGTH_SHORT).show();
}
}
答案 1 :(得分:1)
您可能会这样使用:
ViewTarget<ImageView, Bitmap> viewTarget = Glide.with(activity)
.asBitmap()
.load("URL")
.into(imageView);
Drawable drawable = viewTarget.getView().getDrawable(); // Declare according your scope
private void setGravityMotion() {
gravityView = GravityView.getInstance(this);
if (!gravityView.deviceSupported())
{
return;
} else
{
gravityView.setImage(imageView, drawable/*Place here*/)
.center();
Toast.makeText(this, "ok", Toast.LENGTH_SHORT).show();
}
}
我还没有测试过,希望它能工作。
答案 2 :(得分:1)
您使用的库支持两种类型的图像
您正在使用不能与Glide
一起使用的第一种类型。而是使用Glide
库创建位图,然后将其加载到库中。
您的代码将如下所示
Glide
.with(getApplicationContext())
.load("https://www.google.es/images/srpr/logo11w.png")
.asBitmap()
.into(new SimpleTarget<Bitmap>(100,100) {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {
gravityView.setImage(imageView, resource)
}
});
我相信Glide 4.0
有一种获取位图的方法,但是仍然可以使用