- 浏览: 169158 次
- 性别:
- 来自: 北京
-
最新评论
-
wangzhengfu:
看你这文章很纠结,既然把图贴出来了,为啥不贴上代码呢
android EditText 去除边框 -
sovio:
...
android EditText 去除边框 -
kdac:
啥J8翻译啊,谷歌翻译贴出来的吧?翻译不了就放原文,不伦不类, ...
android 弹出软键盘将底部视图顶起问题 -
shiny_txdd:
17:34:47,806 ERROR [ContextLoad ...
tomcat项目转jboss5.0 -
lenomon:
这里有篇实现无下划线的,Android使用TextView实现 ...
Android TextView中文字设置超链接、颜色、字体
public class AddCardActivity extends Activity {
private Button add;
private Button take_p;
private Button app_ol;
private File sdCard;
private File sdPhoto;
private AlphaAnimation anim_alpha;
private int menu = -1;
private final int LOCAL = 0;
private final int TAKE = 1;
private final int APP = 2;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//全屏显示
ActivityUtil.noNotificationBar(this);
ActivityUtil.noTitleBar(this);
setContentView(R.layout.addcard);
//转存出的路径
sdPhoto = new File("/sdcard/card_xx/photo_xx");
if(!sdPhoto.exists()){
sdPhoto.mkdirs();
}
//转存出的文件
sdCard = new File("/sdcard/card_xx/aa.png");
add = (Button)findViewById(R.id.add);
take_p = (Button)findViewById(R.id.take_p);
app_ol = (Button)findViewById(R.id.app_ol);
/* 事件处理 */
setListener();
anim_alpha = new AlphaAnimation(0.5f, 0.5f);
anim_alpha.setDuration(80);
anim_alpha.setRepeatCount(1);
anim_alpha.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {
}
public void onAnimationRepeat(Animation animation) {
}
public void onAnimationEnd(Animation animation) {
switch (menu) {
case LOCAL:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 1);
break;
case TAKE:
intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File out = new File(Environment.getExternalStorageDirectory(),"camera.png");
Uri uri = Uri.fromFile(out);
intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
startActivityForResult(intent, 3);
break;
case APP:
intent = new Intent();
intent.setClass(AddCardActivity.this, TemplateListActivity.class);
startActivityForResult(intent, 9);
break;
}
}
});
}
private void setListener()
{
/* 本地导入按钮事件处理 */
add.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
menu = LOCAL;
add.setAnimation(anim_alpha);
anim_alpha.startNow();
add.invalidate();
}
});
/* 拍照 按钮事件处理 */
take_p.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
menu = TAKE;
take_p.setAnimation(anim_alpha);
anim_alpha.startNow();
take_p.invalidate();
}
});
/* 在线申请事件处理 */
app_ol.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
menu = APP;
app_ol.setAnimation(anim_alpha);
anim_alpha.startNow();
app_ol.invalidate();
}
}
);
}
/* 返回值处理 */
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK){
switch (requestCode) {
/* 裁剪功能 ,裁剪后跳到2保存*/
case 1:
Intent cj = new Intent("com.android.camera.action.CROP");
cj.setData( data.getData());
cj.putExtra("crop", "true");
cj.putExtra("aspectX", 3);
cj.putExtra("aspectY", 2);
cj.putExtra("outputX",384 );
cj.putExtra("outputY", 256);
cj.putExtra("noFaceDetection", true);
cj.putExtra("return-data", true);
startActivityForResult(Intent.createChooser(cj, "裁剪") , 2);
break;
/* 保存并跳转 */
case 2:
Intent intent = new Intent();
Bundle extras = data.getExtras();
if(extras != null ) {
Bitmap photo = extras.getParcelable("data");
try {
FileOutputStream outStreamz = new FileOutputStream(sdCard);
photo.compress(Bitmap.CompressFormat.PNG, 50, outStreamz);
outStreamz.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
intent.setClass(AddCardActivity.this,ChooseABActivity.class);
startActivity(intent);
finish();
}
break;
/* 拍照后保存图片,并跳到裁剪功能 */
case 3:
Intent cj1 = new Intent("com.android.camera.action.CROP");
try {
cj1.setData(Uri.parse(android.provider.MediaStore.Images.Media.
insertImage(getContentResolver(),"/sdcard/camera.png", null, null)));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
cj1.putExtra("crop", "true");
cj1.putExtra("aspectX", 3);
cj1.putExtra("aspectY", 2);
cj1.putExtra("outputX",384 );
cj1.putExtra("outputY", 256);
cj1.putExtra("return-data", true);
startActivityForResult(cj1, 2);
File camera = new File("/sdcard/camera.png");
if(camera.exists())
camera.delete();
break;
}
}
if (requestCode == 9) {
Intent i=new Intent(this,MainMenuActivity.class);
startActivity(i);
finish();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK)
{
Intent i=new Intent(this,MainMenuActivity.class);
startActivity(i);
finish();
}
return super.onKeyDown(keyCode, event);
}
}
/**************************************************************************************************************************************************/
如果照相之后要添加裁剪:
class TakePicture implements OnClickListener{
public void onClick(View v) {
takePic();
File picture = new File("/sdcard/picture.jpg");
Intent intent = new Intent("com.android.camera.action.CROP");
/**************如果不加这句话,会报错,找不到裁剪的Activity******/
intent.setDataAndType( Uri.fromFile(file),"image/*);
/********************************************************************************/
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 3);
intent.putExtra("aspectY", 2);
intent.putExtra("outputX",384 );
intent.putExtra("outputY", 256);
intent.putExtra("return-data", true);
startActivityForResult(intent, OVER);
finish();
}
}
/***********************************************************************************************************************************************/
发表评论
-
Android中canvas和paint的关系及使用
2011-11-30 10:15 2244刚刚开始接触学习Android的同鞋们在看到工程中出现的那么 ... -
Android 模仿renren的左右划动菜单栏
2011-11-10 13:47 2552模仿renren的左右划动菜单栏,主要通过Horizo ... -
android 抓包
2011-07-12 10:28 39741、下载TcpDump for Android ,或者本地下 ... -
Android参数设置父布局集体宽高
2011-06-21 11:47 3429LinearLayout gridContainer = (L ... -
Android应用按返回键完全退出应用
2011-06-07 17:58 7226很多网友可能发现自己 ... -
GIT和repo使用方法,下载android-2.6.29内核
2011-06-07 14:45 1993http://hi.baidu.com/kkernel/ ... -
动态增加TableLayout的行
2011-06-02 15:43 2538Just like HTML Tables on webpag ... -
如何申请 android google map API key
2011-06-01 15:16 16181.首先要得到你的debug keystore位置: 打 ... -
Android TextView中文字设置超链接、颜色、字体
2011-05-27 12:27 5386TextView是用来显示文本的,有时需要给TextView中 ... -
设置ProgressBar的颜色
2011-05-26 10:05 2256在《Android/OPhone开发完全讲义》 ... -
修改TabHost默认样式
2011-05-10 13:52 3200TabHost是Android提供的一个容器组件, ... -
Android控件美化Shape
2011-05-04 09:59 1210当然除了使用drawable这样的图片外今天谈下自定义图形 ... -
android开发中WebView的使用(附完整程序)
2011-05-03 14:00 2115WebView是个好东西,作用相当于一个迷你的浏览器,采用We ... -
android 弹出软键盘将底部视图顶起问题
2011-04-19 13:20 6958今天要做一个搜索功能,搜索界面采用AutoCompleteTe ... -
自定义ListView行间的分割线
2011-04-18 10:18 1607在Android平台中系统控件提供了灵活的自定义选项,所有 ... -
android xml中应用占位符
2011-04-02 18:24 1568Formatting and Styling Here ar ... -
android Toast大全(五种情形)建立属于你自己的Toast
2011-04-02 18:18 934Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来 ... -
JadEclipse工具的使用
2011-04-01 11:49 2566JadEclipse工具的使用 1、下载工具 JadEcl ... -
Android 反编译apk 到java源码的方法
2011-04-01 11:20 969Android由于其代码是放在dalvik虚拟机上的托管代码, ... -
Android dex ,xml 文件反编译方法【转】
2011-04-01 11:19 1522Dex 文件是Android上运行于delvik的java二进 ...
相关推荐
本文将详细讲解如何在Android中调用系统相机和相册,并实现图片的裁剪功能。我们将通过一个简单的示例项目——`testDemo02`来深入理解这个过程。 首先,我们需要在AndroidManifest.xml文件中添加必要的权限,以便...
总结,Android 7.0调用系统相册、拍照、裁剪及压缩涉及到的主要知识点有:权限管理、Intent的使用、相机API、图片选择API、图片裁剪API和图片压缩技术。在实现过程中,要注意处理兼容性和权限问题,确保应用在各种...
在Android开发中,调用系统相机并裁剪图片是一个常见的需求,主要应用于用户头像设置、上传照片等场景。下面将详细介绍如何实现这一功能。 首先,我们需要创建一个Intent来启动系统相机。Intent是Android中用来在...
拍照或者从相册中选择图片后,我们都可以直接或间接的得到Uri或源文件。 通过`imageView.setImageUri(uri)`不会引发图片方向不正确的问题。 但是通过`BitmapFactory.decodeFile();`将源文件解析成Bitmap后再...
Android调用系统图片裁剪限定尺寸及7.0照相问题的解决方法 Android调用系统图片裁剪限定尺寸是指在Android系统中,使用系统自带的图片裁剪功能对图片进行裁剪处理,以满足不同的需求,例如裁剪图片的尺寸,调整图片...
在Android系统中,选择图片和进行裁剪是常见的功能,特别是在用户需要上传个人头像或者进行个性化设置的应用场景。这个话题涉及到多个Android开发的关键知识点,包括Intent机制、多媒体文件访问权限、相机API以及...
可以调用系统的分享功能,分享视频,图片到第三方软件。
在Android开发中,调用系统照相机、相册以及上传图片是常见的功能需求,尤其在社交应用、生活服务类应用中十分常见。本教程将详细讲解如何实现这些功能。 一、调用系统照相机 1. 添加权限:首先在AndroidManifest....
在项目的开发过程我们离不开图片 而有时候需要调用本地的图片 有时候需要调用拍照图片 同时实现拍照的方法有两种 一种是调用系统拍照功能 另一种是自定义拍照功能 而本博文目前只讲解第一种方法 第二种方法后期在...
Android提供了Intent.ACTION_IMAGE_CROP来调用系统裁剪工具,但这个Intent并非所有设备都支持。因此,开发者可能需要自定义裁剪界面,如使用NineOldAndroids和 Glide 库来兼容老版本的Android,使用CropImage库(如...
在Android应用开发中,调用系统照相机功能是常见的需求,允许用户拍摄照片或录制视频。下面我们将深入探讨如何实现这一功能。 首先,我们需要在AndroidManifest.xml文件中添加权限,以便应用可以访问摄像头: ```...
Android调用系统的相机,图库,以及裁剪图片功能。
在我们Android开发中经常需要做这个一个功能,调用系统相机拍照,然后获取拍摄的照片。下面是我总结的两种方法获取拍摄之后的照片,一种是通过Bundle来获取压缩过的照片,一种是通过SD卡获取的原图。 下面是演示代码...
在Android应用开发中,涉及到用户交互时,常常需要调用系统相机或相册来获取图片,然后进行裁剪处理,并最终上传至服务器。这个过程涵盖了多个关键知识点,包括权限管理、Intent启动相机与相册、图片裁剪、文件操作...
在Android开发中,调用系统相机、图库以及图片裁剪和上传是常见的功能需求,尤其是在构建具有多媒体交互的应用时。这份"Android高级应用源码-android 调用系统相机图库裁剪-图片上传-客服端(测试可用).zip"的资源...
在Android应用开发中,调用相机拍照并添加照片水印是一项常见的需求,这涉及到与系统相机的交互、图片处理以及用户界面设计等多个方面。本文将详细介绍如何实现这一功能。 首先,调用系统相机进行拍照。Android提供...
在Android开发中,有时我们需要实现让用户选择图片并进行裁剪以适合作为头像的功能。这个"android 调用系统裁剪框 裁剪头像.zip"压缩包提供了一个简单的示例项目,名为UpLoadAvatarDemo,用于演示如何在Android应用...
本文将详细介绍如何使用Qt for Android调用原生系统的摄像头进行录像,并保存录制的视频输出。 首先,我们需要理解Qt中的多媒体模块,即`Q Multimedia`框架。这个模块提供了与多媒体内容交互的能力,包括音频、视频...
在Android应用开发中,调用系统相机拍照和访问相册是常见的功能,用户可以通过这些功能获取并处理图像。本文将详细讲解如何实现这两个功能,并提供一个名为`TakePhotoDemo`的示例项目作为参考。 首先,调用系统相机...
总之,Android图片裁剪涉及多个方面,包括图像处理、手势识别和UI交互。通过掌握这些技术,开发者能够创建功能丰富的图片编辑应用,提升用户体验。在实际开发中,还需要考虑性能优化和兼容性问题,以确保应用在不同...