Main
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private ImageView mImageview;
private PopupWindow popupWindow;
private String path = Environment.getExternalStorageDirectory() + "/tu.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
mImageview = findViewById(R.id.imageview);
mImageview.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
default:
break;
case R.id.imageview:
//pop视图
View view = View.inflate(MainActivity.this, R.layout.pop, null);
//窗口大小
popupWindow = new PopupWindow(view, FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT);
//窗口位置
popupWindow.showAsDropDown(v, 0, 0);
//窗口是否可以触摸
popupWindow.setOutsideTouchable(true);
//窗口颜色
popupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
//监听
Button paizhao = (Button) view.findViewById(R.id.paizhao);
Button xiangce = (Button) view.findViewById(R.id.xiangce);
//拍照
paizhao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
//指定动作--打开相机
intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
//存储到SD卡
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(path)));
startActivityForResult(intent, 1000);
popupWindow.dismiss();
}
});
//相册获取
xiangce.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
//指定动作---打开相册
intent.setAction(Intent.ACTION_PICK);
intent.setType("image/*");
//回传值
startActivityForResult(intent, 999);
popupWindow.dismiss();
}
});
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1000 && resultCode == MainActivity.RESULT_OK) {
mImageview.setImageURI(Uri.fromFile(new File(path)));
}
if (requestCode == 999 && resultCode == MainActivity.RESULT_OK) {
// 取出相片
Uri uri = data.getData();
mImageview.setImageURI(uri);
}
}
}