我正在使用包含ImageView
和2 Button
的自定义对话框。
我想在对话框的ImageView
中显示图片..
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Dialog();
}
private void Dialog() {
// TODO Auto-generated method stub
final Dialog dialog=new Dialog(editevent1.this);
dialog.setContentView(R.layout.promote2);
ImageView image =(ImageView)findViewById(R.id.image_camera);
Button d=(Button)dialog.findViewById(R.id.button2);
Button f=(Button)dialog.findViewById(R.id.button3);
dialog.show();
d.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, 1);
}
});
f.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent cameraintent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraintent, CAMERA_PIC_REQUEST);
}
});
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if( requestCode == CAMERA_PIC_REQUEST)
{
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
ImageView image =(ImageView)findViewById(R.id.image_camera);
image.setImageBitmap(thumbnail);
}
else
{
Toast.makeText(this, "Picture NOt taken", Toast.LENGTH_LONG);
}
}
请告诉我如何在ImageView
中获取DialogBox
中的图片,以便在从图库中选择和从相机点击时获取图像。感谢
答案 0 :(得分:2)
我不确定是否可以使用Dialog
完成此操作,但不是自定义对话框,请尝试使用具有UI
对话框的活动。要将Activity
用作对话框,您需要在AndroidManifest.xml
:
<activity android:theme="@android:style/Theme.Dialog" />
编辑评论
Activity
的用户界面为Dialog
,我们将其命名为DialogActivity
用于我们的目的),您不必这样做,因为您可以覆盖onActivityResult
。{/ li>中的DialogActivity
方法
Activity
。要将相机应用从一个Activity
拍摄的图像传递到另一个{i},我相信最有效的方法是将Intent
作为String
传递到该图像的路径访问第二个Activity
上的路径。这样的事情:在第一个Activity
(来电者Activity
)中,我们称之为A:
Intent i = new Intent(A.this, B.class);
i.putExtra("path", path); //The path is a String variable holding the path where the image was saved.
startActivity(i);
在第二个Activity
(被调用的Activity
)中,我们称之为B:
String image_path = getIntent().getExtras().getString("path");
Bitmap bitmap = BitmapFactory.decodeFile(image_path);
答案 1 :(得分:0)
我想你再次显示你的对话框。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if( requestCode == CAMERA_PIC_REQUEST)
{
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
ImageView image =(ImageView)findViewById(R.id.image_camera);
image.setImageBitmap(thumbnail);
**dialog.show();**
}
else
{
Toast.makeText(this, "Picture NOt taken", Toast.LENGTH_LONG);
}
}