From 9c5daa681a48702204ab1ac74b3fb38d87227cb5 Mon Sep 17 00:00:00 2001
From: skyArraon <1312397605@qq.com>
Date: Thu, 15 Jun 2017 16:40:54 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E6=8E=A7=E5=88=B6record=E7=9A=84=E6=AF=94?=
=?UTF-8?q?=E4=BE=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/res/layout/activity_main.xml | 1 +
build.gradle | 2 +-
.../cameralibrary/CameraInterface.java | 20 +++++++++
.../cjt2325/cameralibrary/CaptureLayout.java | 8 +++-
.../cjt2325/cameralibrary/JCameraView.java | 44 +++++++++++++------
camera/src/main/res/values/attrs.xml | 6 +++
.../src/main/res/layout/activity_camera.xml | 1 +
gradle/wrapper/gradle-wrapper.properties | 5 +--
8 files changed, 68 insertions(+), 19 deletions(-)
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 5ba55e1..2dceba4 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -11,6 +11,7 @@
android:id="@+id/jcameraview"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ app:isCoverCapture="true"
app:duration_max="10000"
app:iconMargin="20dp"
app:iconSize="30dp"
diff --git a/build.gradle b/build.gradle
index 126b8dc..0de0dc4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.2.3'
+ classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
}
diff --git a/camera/src/main/java/com/cjt2325/cameralibrary/CameraInterface.java b/camera/src/main/java/com/cjt2325/cameralibrary/CameraInterface.java
index b36364b..b75f8d5 100644
--- a/camera/src/main/java/com/cjt2325/cameralibrary/CameraInterface.java
+++ b/camera/src/main/java/com/cjt2325/cameralibrary/CameraInterface.java
@@ -95,6 +95,26 @@ public void setSwitchView(ImageView mSwitchView) {
//视频质量
private int mediaQuality = JCameraView.MEDIA_QUALITY_MIDDLE;
+ private int mTxtTopMargin=0;//0 default
+
+ private int mCaptureAppend=0;//0 default
+
+ public void setTextTopMargin(int topMargin){
+ mTxtTopMargin=topMargin;
+ }
+ public void setCaptureAppend(int append){
+ mCaptureAppend=append;
+ }
+
+
+ public int getTxtTopMargin() {
+ return mTxtTopMargin;
+ }
+
+ public int getCaptureAppend() {
+ return mCaptureAppend;
+ }
+
private SensorManager sm = null;
private SensorEventListener sensorEventListener = new SensorEventListener() {
public void onSensorChanged(SensorEvent event) {
diff --git a/camera/src/main/java/com/cjt2325/cameralibrary/CaptureLayout.java b/camera/src/main/java/com/cjt2325/cameralibrary/CaptureLayout.java
index d431c9a..777d2e1 100644
--- a/camera/src/main/java/com/cjt2325/cameralibrary/CaptureLayout.java
+++ b/camera/src/main/java/com/cjt2325/cameralibrary/CaptureLayout.java
@@ -80,12 +80,16 @@ public CaptureLayout(Context context, AttributeSet attrs, int defStyleAttr) {
layout_width = outMetrics.widthPixels / 2;
}
button_size = (int) (layout_width / 4.5f);
- layout_height = button_size + (button_size / 5) * 2 + 100;
+ layout_height = button_size + (button_size / 5) * 2 + CameraInterface.getInstance().getCaptureAppend();
initView();
initEvent();
}
+ public int getCaptureHeight(){
+ return layout_height;
+ }
+
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
@@ -271,7 +275,7 @@ public void onClick(View v) {
txt_tip = new TextView(getContext());
LayoutParams txt_param = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
txt_param.gravity = Gravity.CENTER_HORIZONTAL;
- txt_param.setMargins(0, 0, 0, 0);
+ txt_param.setMargins(0, CameraInterface.getInstance().getTxtTopMargin(), 0, 0);
txt_tip.setText("轻触拍照,长按摄像");
txt_tip.setTextColor(0xFFFFFFFF);
txt_tip.setGravity(Gravity.CENTER);
diff --git a/camera/src/main/java/com/cjt2325/cameralibrary/JCameraView.java b/camera/src/main/java/com/cjt2325/cameralibrary/JCameraView.java
index 3051493..c696378 100644
--- a/camera/src/main/java/com/cjt2325/cameralibrary/JCameraView.java
+++ b/camera/src/main/java/com/cjt2325/cameralibrary/JCameraView.java
@@ -100,6 +100,7 @@ public class JCameraView extends FrameLayout implements CameraInterface.CamOpenO
private int iconMargin = 0;
private int iconSrc = 0;
private int duration = 0;
+ private boolean isExpandCapture;
/**
* constructor
@@ -129,6 +130,16 @@ public JCameraView(Context context, AttributeSet attrs, int defStyleAttr) {
TypedValue.COMPLEX_UNIT_SP, 15, getResources().getDisplayMetrics()));
iconSrc = a.getResourceId(R.styleable.JCameraView_iconSrc, R.drawable.ic_sync_black_24dp);
duration = a.getInteger(R.styleable.JCameraView_duration_max, 10 * 1000);
+ isExpandCapture =a.getBoolean(R.styleable.JCameraView_isCoverCapture, false);
+
+ int captureAppend = a.getDimensionPixelSize(R.styleable.JCameraView_captureAppend, (int) TypedValue.applyDimension(
+ TypedValue.COMPLEX_UNIT_SP, 80, getResources().getDisplayMetrics()));
+ int tipTopMargin = a.getDimensionPixelSize(R.styleable.JCameraView_tipTopMargin, (int) TypedValue.applyDimension(
+ TypedValue.COMPLEX_UNIT_SP, 8, getResources().getDisplayMetrics()));
+
+ CameraInterface.getInstance().setCaptureAppend(captureAppend);
+ CameraInterface.getInstance().setTextTopMargin(tipTopMargin);
+
a.recycle();
initData();
initView();
@@ -147,20 +158,7 @@ private void initData() {
private void initView() {
setWillNotDraw(false);
this.setBackgroundColor(0xff000000);
- //VideoView
- mVideoView = new VideoView(mContext);
- LayoutParams videoViewParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
-// videoViewParam.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
- mVideoView.setLayoutParams(videoViewParam);
- //mPhoto
- mPhoto = new ImageView(mContext);
- LayoutParams photoParam = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams
- .MATCH_PARENT);
-// photoParam.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
- mPhoto.setLayoutParams(photoParam);
- mPhoto.setBackgroundColor(0xff000000);
- mPhoto.setVisibility(INVISIBLE);
//switchCamera
mSwitchCamera = new ImageView(mContext);
LayoutParams imageViewParam = new LayoutParams(iconSize + 2 * iconMargin, iconSize + 2 * iconMargin);
@@ -198,6 +196,25 @@ public void run() {
mCaptureLayout.setLayoutParams(layout_param);
mCaptureLayout.setDuration(duration);
+ //限制录制的高度
+ //VideoView
+ mVideoView = new VideoView(mContext);
+ LayoutParams videoViewParam = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
+// videoViewParam.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
+ if(isExpandCapture)videoViewParam.setMargins(0, 0, 0, mCaptureLayout.getCaptureHeight());
+ mVideoView.setLayoutParams(videoViewParam);
+
+ //mPhoto
+ mPhoto = new ImageView(mContext);
+ LayoutParams photoParam = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams
+ .MATCH_PARENT);
+ if(isExpandCapture)photoParam.setMargins(0, 0, 0, mCaptureLayout.getCaptureHeight());
+
+// photoParam.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
+ mPhoto.setLayoutParams(photoParam);
+ mPhoto.setBackgroundColor(0xff000000);
+ mPhoto.setVisibility(INVISIBLE);
+
//mFoucsView
mFoucsView = new FoucsView(mContext, fouce_size);
LayoutParams foucs_param = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
@@ -396,6 +413,7 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
float widthSize = MeasureSpec.getSize(widthMeasureSpec);
float heightSize = MeasureSpec.getSize(heightMeasureSpec);
+ if(isExpandCapture)heightSize-=mCaptureLayout.getCaptureHeight();
screenProp = heightSize / widthSize;
}
diff --git a/camera/src/main/res/values/attrs.xml b/camera/src/main/res/values/attrs.xml
index e927f4c..d32b575 100644
--- a/camera/src/main/res/values/attrs.xml
+++ b/camera/src/main/res/values/attrs.xml
@@ -4,10 +4,16 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cameraapplication/src/main/res/layout/activity_camera.xml b/cameraapplication/src/main/res/layout/activity_camera.xml
index 5a163e7..1de1735 100644
--- a/cameraapplication/src/main/res/layout/activity_camera.xml
+++ b/cameraapplication/src/main/res/layout/activity_camera.xml
@@ -12,5 +12,6 @@
app:duration_max="10000"
app:iconMargin="20dp"
app:iconSize="30dp"
+ app:isCoverCapture="true"
app:iconSrc="@drawable/ic_camera_enhance_black_24dp"/>
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index c764e6c..928cf4a 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,6 @@
-#Wed Mar 01 20:51:02 CST 2017
+#Wed Jun 14 11:08:51 CST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-#distributionUrl=file:///D:/gradle_offline/gradle-2.14.1-all.zip
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
From 94cdb2df15475ff801c0d65a1902026f51e1f446 Mon Sep 17 00:00:00 2001
From: skyArraon <1312397605@qq.com>
Date: Thu, 15 Jun 2017 16:56:54 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=97=E6=AE=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/com/cjt2325/cameralibrary/JCameraView.java | 8 ++++----
camera/src/main/res/values/attrs.xml | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/camera/src/main/java/com/cjt2325/cameralibrary/JCameraView.java b/camera/src/main/java/com/cjt2325/cameralibrary/JCameraView.java
index c696378..f86b21c 100644
--- a/camera/src/main/java/com/cjt2325/cameralibrary/JCameraView.java
+++ b/camera/src/main/java/com/cjt2325/cameralibrary/JCameraView.java
@@ -130,7 +130,7 @@ public JCameraView(Context context, AttributeSet attrs, int defStyleAttr) {
TypedValue.COMPLEX_UNIT_SP, 15, getResources().getDisplayMetrics()));
iconSrc = a.getResourceId(R.styleable.JCameraView_iconSrc, R.drawable.ic_sync_black_24dp);
duration = a.getInteger(R.styleable.JCameraView_duration_max, 10 * 1000);
- isExpandCapture =a.getBoolean(R.styleable.JCameraView_isCoverCapture, false);
+ isExpandCapture =a.getBoolean(R.styleable.JCameraView_isExpandCapture, false);
int captureAppend = a.getDimensionPixelSize(R.styleable.JCameraView_captureAppend, (int) TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_SP, 80, getResources().getDisplayMetrics()));
@@ -582,10 +582,10 @@ private void handlerPictureOrVideo(int type, boolean confirm) {
}
}
mCaptureLayout.isRecord(false);
- LayoutParams videoViewParam = new LayoutParams(LayoutParams.MATCH_PARENT,
- LayoutParams.MATCH_PARENT);
+// LayoutParams videoViewParam = new LayoutParams(LayoutParams.MATCH_PARENT,
+// LayoutParams.MATCH_PARENT);
// videoViewParam.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
- mVideoView.setLayoutParams(videoViewParam);
+// mVideoView.setLayoutParams(videoViewParam);
CameraInterface.getInstance().doOpenCamera(JCameraView.this);
break;
}
diff --git a/camera/src/main/res/values/attrs.xml b/camera/src/main/res/values/attrs.xml
index d32b575..da8ce50 100644
--- a/camera/src/main/res/values/attrs.xml
+++ b/camera/src/main/res/values/attrs.xml
@@ -5,7 +5,7 @@
-
+
@@ -13,7 +13,7 @@
-
+
\ No newline at end of file
From 450834cf1ca1056c63fa4572920408340a7121e7 Mon Sep 17 00:00:00 2001
From: skyArraon <1312397605@qq.com>
Date: Thu, 15 Jun 2017 16:59:21 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=97=E6=AE=B52?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/src/main/res/layout/activity_main.xml | 2 +-
cameraapplication/src/main/res/layout/activity_camera.xml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 2dceba4..e0f5035 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -11,7 +11,7 @@
android:id="@+id/jcameraview"
android:layout_width="match_parent"
android:layout_height="match_parent"
- app:isCoverCapture="true"
+ app:isExpandCapture="true"
app:duration_max="10000"
app:iconMargin="20dp"
app:iconSize="30dp"
diff --git a/cameraapplication/src/main/res/layout/activity_camera.xml b/cameraapplication/src/main/res/layout/activity_camera.xml
index 1de1735..a31bb9b 100644
--- a/cameraapplication/src/main/res/layout/activity_camera.xml
+++ b/cameraapplication/src/main/res/layout/activity_camera.xml
@@ -12,6 +12,6 @@
app:duration_max="10000"
app:iconMargin="20dp"
app:iconSize="30dp"
- app:isCoverCapture="true"
+ app:isExpandCapture="true"
app:iconSrc="@drawable/ic_camera_enhance_black_24dp"/>