本文介绍了获取图像的采集和使用Android的另一个活动的另一个布局显示图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想用SecondActivity捕捉由点击按钮捕获在FirstActivity并显示图像中的activity_second(布局)后,显示的图像。
FirstActivity
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_first);
按钮take_photo =(按钮)findViewById(R.id.btn_capture);
take_photo.setOnClickListener(新OnClickListener(){
公共无效的onClick(视图v){
意图I =新的意图(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivity(ⅰ);
}
});
}
布局activity_first
> < RelativeLayout的的xmlns:机器人=http://schemas.android.com/apk/res/android
的xmlns:工具=http://schemas.android.com/tools
机器人:layout_width =match_parent
机器人:layout_height =match_parent>
<按钮
机器人:ID =@ + ID / btn_capture
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignParentLeft =真
机器人:layout_alignParentTop =真
机器人:layout_marginLeft =21dp
机器人:文本=捕捉/>
< / RelativeLayout的>
SecondActivity
>公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_second);
ImageView的观点=(ImageView的)findViewById(R.id.view_photo);
}
activity_second
> < XML版本=1.0编码=UTF-8&GT?;
< LinearLayout中的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =match_parent
机器人:layout_height =match_parent
机器人:方向=垂直>
< ImageView的
机器人:ID =@ + ID / view_photo
机器人:layout_width =260dp
机器人:layout_height =374dp/>
< / LinearLayout中>
解决方案
使用startActivityForResult()而不是startActivity()
@覆盖
保护无效onActivityResult(INT申请code,INT结果code,意图数据){
// TODO自动生成方法存根
super.onActivityResult(要求code,因此code,数据);
位图的缩略图= NULL;
如果(要求code == CAMERA_PIC_REQUEST){
如果(结果code == RESULT_OK){
。缩略图=(位图)data.getExtras()获得(数据);
意图I =新的意图(这一点,NextActivity.class);
i.putExtra(名,缩略图);
startActivity(ⅰ);
}
}
}
接下来的下一个活动尝试使用此
保护无效的onCreate(包savedInstanceState){
// TODO自动生成方法存根
super.onCreate(savedInstanceState);
// intialize图像视图
点阵位图= getIntent()getExtras()getParcelable(数据)。;
//此处设置的图像。
}
希望这可以帮助你。
I want to show image after capture by click button Capture in the FirstActivity and show image in the activity_second(layout) using SecondActivity.
FirstActivity
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
Button take_photo = (Button) findViewById(R.id.btn_capture);
take_photo.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivity(i);
}
});
}
Layout activity_first
> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/btn_capture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="21dp"
android:text="Capture" />
</RelativeLayout>
SecondActivity
> public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
ImageView view = (ImageView) findViewById(R.id.view_photo);
}
activity_second
> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/view_photo"
android:layout_width="260dp"
android:layout_height="374dp" />
</LinearLayout>
解决方案
use startActivityForResult() instead of startActivity()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
Bitmap thumbnail = null;
if (requestCode == CAMERA_PIC_REQUEST) {
if (resultCode == RESULT_OK) {
thumbnail = (Bitmap) data.getExtras().get("data");
Intent i = new Intent(this, NextActivity.class);
i.putExtra("name", thumbnail);
startActivity(i);
}
}
}
Next in the next activity try to use this
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// intialize the image view
Bitmap bitmap = getIntent().getExtras().getParcelable("data");
//set the image here.
}
Hope this may help you
这篇关于获取图像的采集和使用Android的另一个活动的另一个布局显示图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!