Skip to content

Commit a7a2a36

Browse files
committed
release v2.0.4
1 parent e97289a commit a7a2a36

File tree

9 files changed

+304
-81
lines changed

9 files changed

+304
-81
lines changed

simple/src/main/AndroidManifest.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616
<category android:name="android.intent.category.LAUNCHER" />
1717
</intent-filter>
1818
</activity>
19+
<activity android:name=".SimpleActivity"
20+
android:screenOrientation="portrait"
21+
android:configChanges="orientation|keyboardHidden|screenSize"></activity>
22+
<activity android:name=".SimpleFragmentActivity"
23+
android:screenOrientation="portrait"
24+
android:configChanges="orientation|keyboardHidden|screenSize"></activity>
1925
</application>
2026

2127
</manifest>
Lines changed: 12 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,9 @@
11
package com.jph.simple;
22

3-
import android.Manifest;
4-
import android.content.pm.PackageManager;
5-
import android.graphics.Bitmap;
6-
import android.graphics.BitmapFactory;
7-
import android.net.Uri;
3+
import android.app.Activity;
4+
import android.content.Intent;
85
import android.os.Bundle;
9-
import android.os.Environment;
10-
import android.support.v4.app.ActivityCompat;
11-
import android.support.v4.content.ContextCompat;
126
import android.view.View;
13-
import android.widget.CompoundButton;
14-
import android.widget.ImageView;
15-
import android.widget.ToggleButton;
16-
17-
import com.jph.takephoto.app.TakePhotoFragmentActivity;
18-
import com.jph.takephoto.compress.CompressConfig;
19-
import com.jph.takephoto.model.CropOptions;
20-
21-
import java.io.File;
227

238
/**
249
* 从相册选择照片进行裁剪,从相机拍取照片进行裁剪<br>
@@ -27,75 +12,23 @@
2712
* Author JPH
2813
* Date 2016/6/7 0007 16:01
2914
*/
30-
public class MainActivity extends TakePhotoFragmentActivity {
31-
private ImageView imgShow;
32-
private ToggleButton toggleButton;
33-
private boolean withOwnCrop;
15+
public class MainActivity extends Activity implements View.OnClickListener{
3416
@Override
3517
protected void onCreate(Bundle savedInstanceState) {
3618
super.onCreate(savedInstanceState);
37-
setContentView(R.layout.activity_main);
38-
imgShow= (ImageView) findViewById(R.id.imgShow);
39-
toggleButton= (ToggleButton) findViewById(R.id.toggleButton);
40-
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
41-
@Override
42-
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
43-
withOwnCrop=isChecked;
44-
}
45-
});
19+
setContentView(R.layout.activity_main_layout);
4620
}
47-
public void cropPic(View view) {
48-
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
49-
!= PackageManager.PERMISSION_GRANTED) {
50-
//申请WRITE_EXTERNAL_STORAGE权限
51-
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
52-
1);
53-
}
54-
File file=new File(Environment.getExternalStorageDirectory(), "/temp/"+System.currentTimeMillis() + ".jpg");
55-
if (!file.getParentFile().exists())file.getParentFile().mkdirs();
56-
Uri imageUri = Uri.fromFile(file);
57-
CompressConfig compressConfig=new CompressConfig.Builder().setMaxSize(50*1024).setMaxPixel(800).create();
58-
CropOptions cropOptions=new CropOptions.Builder().setAspectX(1).setAspectY(1).setWithOwnCrop(withOwnCrop).create();
59-
switch (view.getId()) {
60-
case R.id.btnPickFromGallery://从相册选择照片不裁切
61-
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromGallery();
62-
break;
63-
case R.id.btnPickFromGalleryWithCrop://从相册选择照片进行裁剪
64-
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromGalleryWithCrop(imageUri,cropOptions);
65-
break;
66-
case R.id.btnPickFromCapture://从相机拍取照片不裁剪
67-
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromCapture(imageUri);
68-
break;
69-
case R.id.btnPickFromCaptureWithCrop://从相机拍取照片进行裁剪
70-
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromCaptureWithCrop(imageUri,cropOptions);
71-
break;
72-
case R.id.btnPickFromDocuments://从文件选择照片不裁剪
73-
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromDocuments();
21+
22+
@Override
23+
public void onClick(View view) {
24+
switch (view.getId()){
25+
case R.id.btnTakePhotoActivity:
26+
startActivity(new Intent(this,SimpleActivity.class));
7427
break;
75-
case R.id.btnDocumentsCrop://从文件选择照片并裁剪
76-
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromDocumentsWithCrop(imageUri,cropOptions);
28+
case R.id.btnTakePhotoFragment:
29+
startActivity(new Intent(this,SimpleFragmentActivity.class));
7730
break;
7831
default:
79-
break;
8032
}
8133
}
82-
@Override
83-
public void takeCancel() {
84-
super.takeCancel();
85-
}
86-
@Override
87-
public void takeFail(String msg) {
88-
super.takeFail(msg);
89-
}
90-
@Override
91-
public void takeSuccess(String imagePath) {
92-
super.takeSuccess(imagePath);
93-
showImg(imagePath);
94-
}
95-
private void showImg(String imagePath){
96-
BitmapFactory.Options option=new BitmapFactory.Options();
97-
option.inSampleSize=2;
98-
Bitmap bitmap=BitmapFactory.decodeFile(imagePath,option);
99-
imgShow.setImageBitmap(bitmap);
100-
}
10134
}
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
package com.jph.simple;
2+
3+
import android.Manifest;
4+
import android.content.pm.PackageManager;
5+
import android.graphics.Bitmap;
6+
import android.graphics.BitmapFactory;
7+
import android.net.Uri;
8+
import android.os.Bundle;
9+
import android.os.Environment;
10+
import android.support.v4.app.ActivityCompat;
11+
import android.support.v4.content.ContextCompat;
12+
import android.view.View;
13+
import android.widget.CompoundButton;
14+
import android.widget.ImageView;
15+
import android.widget.ToggleButton;
16+
17+
import com.jph.takephoto.app.TakePhotoActivity;
18+
import com.jph.takephoto.app.TakePhotoFragmentActivity;
19+
import com.jph.takephoto.compress.CompressConfig;
20+
import com.jph.takephoto.model.CropOptions;
21+
22+
import java.io.File;
23+
24+
/**
25+
* 从相册选择照片进行裁剪,从相机拍取照片进行裁剪<br>
26+
* 从相册选择照片(不裁切),并获取照片的路径<br>
27+
* 拍取照片(不裁切),并获取照片路径
28+
* Author JPH
29+
* Date 2016/6/7 0007 16:01
30+
*/
31+
public class SimpleActivity extends TakePhotoActivity {
32+
private ImageView imgShow;
33+
private ToggleButton toggleButton;
34+
private boolean withOwnCrop;
35+
@Override
36+
protected void onCreate(Bundle savedInstanceState) {
37+
super.onCreate(savedInstanceState);
38+
setContentView(R.layout.simple_layout);
39+
imgShow= (ImageView) findViewById(R.id.imgShow);
40+
toggleButton= (ToggleButton) findViewById(R.id.toggleButton);
41+
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
42+
@Override
43+
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
44+
withOwnCrop=isChecked;
45+
}
46+
});
47+
}
48+
public void cropPic(View view) {
49+
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
50+
!= PackageManager.PERMISSION_GRANTED) {
51+
//申请WRITE_EXTERNAL_STORAGE权限
52+
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
53+
1);
54+
}
55+
File file=new File(Environment.getExternalStorageDirectory(), "/temp/"+System.currentTimeMillis() + ".jpg");
56+
if (!file.getParentFile().exists())file.getParentFile().mkdirs();
57+
Uri imageUri = Uri.fromFile(file);
58+
CompressConfig compressConfig=new CompressConfig.Builder().setMaxSize(50*1024).setMaxPixel(800).create();
59+
CropOptions cropOptions=new CropOptions.Builder().setAspectX(1).setAspectY(1).setWithOwnCrop(withOwnCrop).create();
60+
switch (view.getId()) {
61+
case R.id.btnPickFromGallery://从相册选择照片不裁切
62+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromGallery();
63+
break;
64+
case R.id.btnPickFromGalleryWithCrop://从相册选择照片进行裁剪
65+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromGalleryWithCrop(imageUri,cropOptions);
66+
break;
67+
case R.id.btnPickFromCapture://从相机拍取照片不裁剪
68+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromCapture(imageUri);
69+
break;
70+
case R.id.btnPickFromCaptureWithCrop://从相机拍取照片进行裁剪
71+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromCaptureWithCrop(imageUri,cropOptions);
72+
break;
73+
case R.id.btnPickFromDocuments://从文件选择照片不裁剪
74+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromDocuments();
75+
break;
76+
case R.id.btnDocumentsCrop://从文件选择照片并裁剪
77+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromDocumentsWithCrop(imageUri,cropOptions);
78+
break;
79+
default:
80+
break;
81+
}
82+
}
83+
@Override
84+
public void takeCancel() {
85+
super.takeCancel();
86+
}
87+
@Override
88+
public void takeFail(String msg) {
89+
super.takeFail(msg);
90+
}
91+
@Override
92+
public void takeSuccess(String imagePath) {
93+
super.takeSuccess(imagePath);
94+
showImg(imagePath);
95+
}
96+
private void showImg(String imagePath){
97+
BitmapFactory.Options option=new BitmapFactory.Options();
98+
option.inSampleSize=2;
99+
Bitmap bitmap=BitmapFactory.decodeFile(imagePath,option);
100+
imgShow.setImageBitmap(bitmap);
101+
}
102+
}
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
package com.jph.simple;
2+
3+
import android.Manifest;
4+
import android.content.pm.PackageManager;
5+
import android.graphics.Bitmap;
6+
import android.graphics.BitmapFactory;
7+
import android.net.Uri;
8+
import android.os.Bundle;
9+
import android.os.Environment;
10+
import android.support.annotation.Nullable;
11+
import android.support.v4.app.ActivityCompat;
12+
import android.support.v4.content.ContextCompat;
13+
import android.view.LayoutInflater;
14+
import android.view.View;
15+
import android.view.ViewGroup;
16+
import android.widget.CompoundButton;
17+
import android.widget.ImageView;
18+
import android.widget.ToggleButton;
19+
20+
import com.jph.takephoto.app.TakePhotoFragment;
21+
import com.jph.takephoto.compress.CompressConfig;
22+
import com.jph.takephoto.model.CropOptions;
23+
24+
import java.io.File;
25+
26+
/**
27+
* 从相册选择照片进行裁剪,从相机拍取照片进行裁剪<br>
28+
* 从相册选择照片(不裁切),并获取照片的路径<br>
29+
* 拍取照片(不裁切),并获取照片路径
30+
* Author JPH
31+
* Date 2016/6/7 0007 16:01
32+
*/
33+
public class SimpleFragment extends TakePhotoFragment {
34+
private ImageView imgShow;
35+
private ToggleButton toggleButton;
36+
private boolean withOwnCrop;
37+
@Override
38+
public void onCreate(Bundle savedInstanceState) {
39+
super.onCreate(savedInstanceState);
40+
41+
}
42+
43+
@Nullable
44+
@Override
45+
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
46+
View view=inflater.inflate(R.layout.simple_layout,null);
47+
imgShow= (ImageView) view.findViewById(R.id.imgShow);
48+
toggleButton= (ToggleButton) view.findViewById(R.id.toggleButton);
49+
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
50+
@Override
51+
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
52+
withOwnCrop=isChecked;
53+
}
54+
});
55+
return view;
56+
}
57+
58+
public void cropPic(View view) {
59+
if (ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE)
60+
!= PackageManager.PERMISSION_GRANTED) {
61+
//申请WRITE_EXTERNAL_STORAGE权限
62+
ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
63+
1);
64+
}
65+
File file=new File(Environment.getExternalStorageDirectory(), "/temp/"+System.currentTimeMillis() + ".jpg");
66+
if (!file.getParentFile().exists())file.getParentFile().mkdirs();
67+
Uri imageUri = Uri.fromFile(file);
68+
CompressConfig compressConfig=new CompressConfig.Builder().setMaxSize(50*1024).setMaxPixel(800).create();
69+
CropOptions cropOptions=new CropOptions.Builder().setAspectX(1).setAspectY(1).setWithOwnCrop(withOwnCrop).create();
70+
switch (view.getId()) {
71+
case R.id.btnPickFromGallery://从相册选择照片不裁切
72+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromGallery();
73+
break;
74+
case R.id.btnPickFromGalleryWithCrop://从相册选择照片进行裁剪
75+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromGalleryWithCrop(imageUri,cropOptions);
76+
break;
77+
case R.id.btnPickFromCapture://从相机拍取照片不裁剪
78+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromCapture(imageUri);
79+
break;
80+
case R.id.btnPickFromCaptureWithCrop://从相机拍取照片进行裁剪
81+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromCaptureWithCrop(imageUri,cropOptions);
82+
break;
83+
case R.id.btnPickFromDocuments://从文件选择照片不裁剪
84+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromDocuments();
85+
break;
86+
case R.id.btnDocumentsCrop://从文件选择照片并裁剪
87+
getTakePhoto().onEnableCompress(compressConfig,true).onPickFromDocumentsWithCrop(imageUri,cropOptions);
88+
break;
89+
default:
90+
break;
91+
}
92+
}
93+
@Override
94+
public void takeCancel() {
95+
super.takeCancel();
96+
}
97+
@Override
98+
public void takeFail(String msg) {
99+
super.takeFail(msg);
100+
}
101+
@Override
102+
public void takeSuccess(String imagePath) {
103+
super.takeSuccess(imagePath);
104+
showImg(imagePath);
105+
}
106+
private void showImg(String imagePath){
107+
BitmapFactory.Options option=new BitmapFactory.Options();
108+
option.inSampleSize=2;
109+
Bitmap bitmap=BitmapFactory.decodeFile(imagePath,option);
110+
imgShow.setImageBitmap(bitmap);
111+
}
112+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.jph.simple;
2+
3+
import android.os.Bundle;
4+
import android.support.annotation.Nullable;
5+
import android.support.v4.app.FragmentActivity;
6+
import android.support.v4.app.FragmentTransaction;
7+
import android.view.View;
8+
9+
/**
10+
* Author: JPH
11+
* Date: 2016/8/11 15:47
12+
*/
13+
public class SimpleFragmentActivity extends FragmentActivity{
14+
SimpleFragment fragment;
15+
@Override
16+
protected void onCreate(@Nullable Bundle savedInstanceState) {
17+
super.onCreate(savedInstanceState);
18+
setContentView(R.layout.simple_fragment_layout);
19+
FragmentTransaction transaction=getSupportFragmentManager().beginTransaction();
20+
transaction.add(R.id.fragment1,fragment=new SimpleFragment(),"dd");
21+
transaction.commit();
22+
}
23+
public void cropPic(View v){
24+
fragment.cropPic(v);
25+
}
26+
}

0 commit comments

Comments
 (0)