在 AlertDialog 中使用 Glide 显示 GIF
Show GIF using Glide in AlertDialog
我想在ImageView中使用Glide显示GIF,并在AlertDialog中设置这个ImageView。
ImageView gifImageView = new ImageView(context);
Glide.with(context).load(recorder.getPictureFile()).asGif().into(gifImageView);
AlertDialog.Builder share_dialog = new AlertDialog.Builder(context);
share_dialog.setMessage("Live Message Saved");
share_dialog.setPositiveButton("Done", null);
share_dialog.setView(gifImageView);
share_dialog.show();
但它只显示 Message 和 PositiveButton。
我不明白为什么,我应该怎么做才能解决它?
更新时间:2017/09/23
我创建了另一个项目来测试这个问题,这是代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button_main = (Button)findViewById(R.id.button_main);
imageView_main = (ImageView)findViewById(R.id.imageView_main);
GlideDrawableImageViewTarget imageViewMainTarget = new GlideDrawableImageViewTarget(imageView_main);
Glide.with(MainActivity.this).load(R.raw.test).into(imageViewMainTarget);
button_main.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView gifImageView = new ImageView(MainActivity.this);
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(gifImageView);
Glide.with(MainActivity.this).load(R.raw.test).into(imageViewTarget);
AlertDialog.Builder share_dialog = new AlertDialog.Builder(MainActivity.this);
share_dialog.setMessage("GIF Test");
share_dialog.setPositiveButton("Done", null);
share_dialog.setView(gifImageView);
share_dialog.show();
}
});
}
在运行这个项目之后。
GIF可以在imageView_main中显示,但是在AlertDialog的gifImageView中不能显示!
为什么?
这样做
ImageView gifImageView = new ImageView(context);
AlertDialog.Builder share_dialog = new AlertDialog.Builder(context);
share_dialog.setMessage("Live Message Saved");
share_dialog.setPositiveButton("Done", null);
share_dialog.setView(gifImageView);
Glide.with(context).load(recorder.getPictureFile()).asGif().into(gifImageView);
share_dialog.show();
设置视图后将负载滑行。
我按照Niranj Patel的回答解决了
How to put an image in an AlertDialog?? Android
这是我的代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button_main = (Button)findViewById(R.id.button_main);
imageView_main = (ImageView)findViewById(R.id.imageView_main);
GlideDrawableImageViewTarget imageViewMainTarget = new GlideDrawableImageViewTarget(imageView_main);
Glide.with(MainActivity.this).load(R.raw.test).into(imageViewMainTarget);
button_main.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater factory = LayoutInflater.from(MainActivity.this);
View view = factory.inflate(R.layout.sample, null);
ImageView gifImageView = (ImageView)view.findViewById(R.id.dialog_imageview);
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(gifImageView);
Glide.with(MainActivity.this).load(R.raw.test).into(imageViewTarget);
AlertDialog.Builder share_dialog = new AlertDialog.Builder(MainActivity.this);
share_dialog.setMessage("GIF Test");
share_dialog.setPositiveButton("Done", null);
share_dialog.setView(view);
share_dialog.show();
}
});
}
我想在ImageView中使用Glide显示GIF,并在AlertDialog中设置这个ImageView。
ImageView gifImageView = new ImageView(context);
Glide.with(context).load(recorder.getPictureFile()).asGif().into(gifImageView);
AlertDialog.Builder share_dialog = new AlertDialog.Builder(context);
share_dialog.setMessage("Live Message Saved");
share_dialog.setPositiveButton("Done", null);
share_dialog.setView(gifImageView);
share_dialog.show();
但它只显示 Message 和 PositiveButton。
我不明白为什么,我应该怎么做才能解决它?
更新时间:2017/09/23
我创建了另一个项目来测试这个问题,这是代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button_main = (Button)findViewById(R.id.button_main);
imageView_main = (ImageView)findViewById(R.id.imageView_main);
GlideDrawableImageViewTarget imageViewMainTarget = new GlideDrawableImageViewTarget(imageView_main);
Glide.with(MainActivity.this).load(R.raw.test).into(imageViewMainTarget);
button_main.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ImageView gifImageView = new ImageView(MainActivity.this);
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(gifImageView);
Glide.with(MainActivity.this).load(R.raw.test).into(imageViewTarget);
AlertDialog.Builder share_dialog = new AlertDialog.Builder(MainActivity.this);
share_dialog.setMessage("GIF Test");
share_dialog.setPositiveButton("Done", null);
share_dialog.setView(gifImageView);
share_dialog.show();
}
});
}
在运行这个项目之后。
GIF可以在imageView_main中显示,但是在AlertDialog的gifImageView中不能显示!
为什么?
这样做
ImageView gifImageView = new ImageView(context);
AlertDialog.Builder share_dialog = new AlertDialog.Builder(context);
share_dialog.setMessage("Live Message Saved");
share_dialog.setPositiveButton("Done", null);
share_dialog.setView(gifImageView);
Glide.with(context).load(recorder.getPictureFile()).asGif().into(gifImageView);
share_dialog.show();
设置视图后将负载滑行。
我按照Niranj Patel的回答解决了
How to put an image in an AlertDialog?? Android
这是我的代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button_main = (Button)findViewById(R.id.button_main);
imageView_main = (ImageView)findViewById(R.id.imageView_main);
GlideDrawableImageViewTarget imageViewMainTarget = new GlideDrawableImageViewTarget(imageView_main);
Glide.with(MainActivity.this).load(R.raw.test).into(imageViewMainTarget);
button_main.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LayoutInflater factory = LayoutInflater.from(MainActivity.this);
View view = factory.inflate(R.layout.sample, null);
ImageView gifImageView = (ImageView)view.findViewById(R.id.dialog_imageview);
GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(gifImageView);
Glide.with(MainActivity.this).load(R.raw.test).into(imageViewTarget);
AlertDialog.Builder share_dialog = new AlertDialog.Builder(MainActivity.this);
share_dialog.setMessage("GIF Test");
share_dialog.setPositiveButton("Done", null);
share_dialog.setView(view);
share_dialog.show();
}
});
}