[当前,我具有相机功能,当我单击相机按钮时,它将拍摄照片并将其显示在ImageView中。现在,我要使ImageView可以单击,这意味着当单击时,它将以全屏方式打开图像。谁知道怎么做?
下面是我当前的代码
Java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_task_update);
setTitle("Task Details");
if (!SharedPrefManager.getInstance(this).isLoggedIn()) {
finish();
startActivity(new Intent(this, MainActivity.class));
}
TaskClass task = (TaskClass) getIntent().getExtras().getSerializable("task");
tvTaskName = findViewById(R.id.tvTaskName);
btnCamera = findViewById(R.id.btnCamera);
imgAttach = findViewById(R.id.imgAttach);
tvTaskName.setText(task.getTask_name());
EnableRuntimePermission();
btnCamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 7);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 7 && resultCode == RESULT_OK) {
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
imgAttach.setImageBitmap(bitmap);
}
}
public void EnableRuntimePermission(){
if (ActivityCompat.shouldShowRequestPermissionRationale(TaskUpdate.this,
Manifest.permission.CAMERA))
{
Toast.makeText(TaskUpdate.this,"CAMERA permission allows us to Access CAMERA app", Toast.LENGTH_LONG).show();
} else {
ActivityCompat.requestPermissions(TaskUpdate.this,new String[]{
Manifest.permission.CAMERA}, RequestPermissionCode);
}
}
@Override
public void onRequestPermissionsResult(int RC, String per[], int[] PResult) {
switch (RC) {
case RequestPermissionCode:
if (PResult.length > 0 && PResult[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(TaskUpdate.this,"Permission Granted, Now your application can access CAMERA.", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(TaskUpdate.this,"Permission Canceled, Now your application cannot access CAMERA.", Toast.LENGTH_LONG).show();
}
break;
}
}
XML
<ImageView
android:id="@+id/imgAttach"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:paddingTop="05dp"
android:paddingBottom="05dp"
android:background="@drawable/imgborder"/>
创建另一个活动,例如ViewImage.java,在其布局文件中仅包含一个ImageView,然后在用户单击图像时打开该活动,并传递位图。为该ViewImage活动设置自定义样式,在您的情况下应为NoActionBar。在ViewImage活动中接收位图,并将其设置为您在布局文件中创建的imageView。