博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
压缩图片
阅读量:4653 次
发布时间:2019-06-09

本文共 3059 字,大约阅读时间需要 10 分钟。

package com.test.demo;

import java.io.File;

import java.util.Calendar;

import com.test.viewdemo.R;

import android.net.Uri;

import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.BitmapFactory.Options;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup.LayoutParams;
import android.view.ViewGroup.OnHierarchyChangeListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.Toast;

public class MainActivity extends Activity {

private Button btn_camera;
private LinearLayout linear;
private MainActivity _this;
private Uri fileUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

_this = this;

btn_camera = (Button) findViewById(R.id.button1);

linear = (LinearLayout) _this.findViewById(R.id.image_linear);
String path = Environment.getExternalStorageDirectory() + "/image";
File file = new File(path);
if(!file.exists()){
file.mkdirs();
}
String time = Calendar.getInstance().getTime().toString();
File mediaFile = new File(file.getAbsolutePath(),time + ".jpg");
fileUri = Uri.fromFile(mediaFile);
btn_camera.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View v) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 100);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == _this.RESULT_OK){
if(requestCode == 100){
ImageView image = new ImageView(_this);
LinearLayout.LayoutParams llparams = new LinearLayout.LayoutParams(80, 80);
image.setLayoutParams(llparams);
if(data != null){
if(data.hasExtra("data")){
Bitmap thumbnail = data.getParcelableExtra("data");
image.setImageBitmap(thumbnail);
}
}else{
int width = image.getLayoutParams().width;
int height = image.getLayoutParams().height;
BitmapFactory.Options option = new Options();
option.inJustDecodeBounds = true;
BitmapFactory.decodeFile(fileUri.getPath(), option);
int imageW = option.outWidth;
int imageH = option.outHeight;
int scale = Math.max(imageW / width, imageH / height);
option.inJustDecodeBounds = false;
option.inSampleSize = scale;
Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath(), option);
image.setImageBitmap(bitmap);
linear.addView(image);
if(linear != null){
if(linear.getChildCount() > 0){
linear.setVisibility(View.VISIBLE);
}else{
linear.setVisibility(View.GONE);
}
}
}
}
}
}
}

转载于:https://www.cnblogs.com/dengshiwei/p/4489130.html

你可能感兴趣的文章
常用的CSS命名规则
查看>>
约数个数定理&约数和定理
查看>>
Oracle EBS数据定义移植工具:FNDLOAD
查看>>
判素数
查看>>
extjs4.1:两个combobox的联动
查看>>
百度地图瓦片工具:定义坐标
查看>>
jmeter控制器--交替控制器
查看>>
hdu 5365 Run
查看>>
SVN 常用命令一览表
查看>>
css中可继承和不可继承属性
查看>>
980. Unique Paths III
查看>>
git 博客搭建
查看>>
7-13 求链式线性表的倒数第K项(20 分)
查看>>
快速排序
查看>>
一口一口吃掉Struts(十)——异常自动处理机制
查看>>
并查集,以及可拆分并查集
查看>>
六个优雅的 Linux 命令行技巧
查看>>
MyBatis源码分析
查看>>
ArrayList构造函数
查看>>
C8051F_CAN
查看>>