相机 相册

1. 布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:onClick="paizhao"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="拍照"
        />
         <Button
        android:onClick="xiangce"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:text="相册"
        />
    <ImageView
        android:id="@+id/img_view"
        android:layout_height="80dp"
        android:layout_width="80dp"
        android:src="@drawable/ic_launcher_background"
        />


</LinearLayout>

2.MainActivity

public class MainActivity extends AppCompatActivity {

    private ImageView img_view;
    private String path = Environment.getExternalStorageDirectory() + "/c.jpg";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        img_view = (ImageView) findViewById(R.id.img_view);
    }
    public void paizhao(View view) {
        Intent intent = new Intent();
        intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path)));
        startActivityForResult(intent, 999);

    }

    public void xiangce(View view){
        Intent intent=new Intent();
        intent.setAction(intent.ACTION_PICK);
        intent.setType("image/*");
        startActivityForResult(intent, 9999);


    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 999 && resultCode == RESULT_OK) {
            crop(Uri.fromFile(new File(path)));
        }

        if (requestCode == 1000 && resultCode == RESULT_OK) {
            Bitmap bitmap = data.getParcelableExtra("data");
            img_view.setImageBitmap(bitmap);
        }
        if (requestCode==9999&&resultCode==RESULT_OK) {
            Uri uri = data.getData();
            img_view.setImageURI(uri);
        }

    }

    private void crop(Uri fromFile) {
        Intent intent = new Intent();
        intent.setAction("com.android.camera.action.CROP");
        intent.setDataAndType(fromFile, "image/*");
        intent.putExtra("crop", "true");
        //可以少些
        intent.putExtra("aspectX", 1);
        intent.putExtra("aspectY", 1);
        intent.putExtra("outputX", 249);
        intent.putExtra("outputY", 249);
        //少些
        intent.putExtra("return-data", true);
        startActivityForResult(intent, 1000);

    }

猜你喜欢

转载自blog.csdn.net/qq_43603372/article/details/84960965