diff --git a/app/src/main/java/com/xypower/mppreview/Camera2RawFragment.java b/app/src/main/java/com/xypower/mppreview/Camera2RawFragment.java index ba3b2f1..9b35cf7 100644 --- a/app/src/main/java/com/xypower/mppreview/Camera2RawFragment.java +++ b/app/src/main/java/com/xypower/mppreview/Camera2RawFragment.java @@ -4,6 +4,8 @@ import static com.xypower.mppreview.HdrUtil.generateTimestamp; import static java.lang.System.loadLibrary; import android.Manifest; +import android.animation.Animator; +import android.animation.AnimatorInflater; import android.app.Activity; import android.content.Context; import android.content.pm.PackageManager; @@ -51,7 +53,11 @@ import android.view.Surface; import android.view.TextureView; import android.view.View; import android.view.ViewGroup; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.view.animation.LinearInterpolator; import android.widget.Button; +import android.widget.ImageView; import android.widget.Toast; import com.xypower.mppreview.bean.Contants; @@ -127,6 +133,8 @@ public class Camera2RawFragment extends Fragment { private OrientationEventListener mOrientationListener; private ExecutorService executorService; + private Button takepic; + private ImageView rorpic; public static native boolean makeHdr(long exposureTime1, String path1, long exposureTime2, String path2, String outputPath); @@ -533,10 +541,16 @@ public class Camera2RawFragment extends Fragment { } } }; - Button takepic = view.findViewById(R.id.takepic); + takepic = view.findViewById(R.id.takepic); + rorpic = view.findViewById(R.id.rorpic); takepic.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { + takepic.setVisibility(View.INVISIBLE); + rorpic.setVisibility(View.VISIBLE); + Animation animation = AnimationUtils.loadAnimation(getContext(), R.anim.r); + animation.setInterpolator(new LinearInterpolator()); + rorpic.startAnimation(animation); takePicture(); } }); @@ -1129,7 +1143,18 @@ public class Camera2RawFragment extends Fragment { images.clear(); Log.d("结束Hdr处理", "end"); if (b) { - showToast("HDR拍摄成功"); + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + // 在主线程中执行UI更新 + // ... + takepic.setVisibility(View.VISIBLE); + rorpic.clearAnimation(); + rorpic.setVisibility(View.GONE); + showToast("HDR拍摄成功"); + } + }); + } } diff --git a/app/src/main/java/com/xypower/mppreview/PhotoUtil.java b/app/src/main/java/com/xypower/mppreview/PhotoUtil.java index aafa9ff..62102c3 100644 --- a/app/src/main/java/com/xypower/mppreview/PhotoUtil.java +++ b/app/src/main/java/com/xypower/mppreview/PhotoUtil.java @@ -63,14 +63,15 @@ public class PhotoUtil { * @return */ private static File saveFileName(Context context) { - File newFolder = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES); +// File newFolder = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES); + String outputPath = "/sdcard/DCIM"; SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss"); Date date = new Date(System.currentTimeMillis()); String name = format.format(date) + ".jpg"; File ji = null; try { - ji = new File(newFolder + "/" + name); + ji = new File(outputPath + "/" + name); ji.createNewFile(); // currentPath = ji.getAbsolutePath(); } catch (Exception e) { diff --git a/app/src/main/res/anim/r.xml b/app/src/main/res/anim/r.xml new file mode 100644 index 0000000..d61017e --- /dev/null +++ b/app/src/main/res/anim/r.xml @@ -0,0 +1,11 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_camera2_raw.xml b/app/src/main/res/layout/fragment_camera2_raw.xml index 3629cb4..5c27b93 100644 --- a/app/src/main/res/layout/fragment_camera2_raw.xml +++ b/app/src/main/res/layout/fragment_camera2_raw.xml @@ -13,14 +13,26 @@