<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <!-- 定义提示用户点击拍照的标签控件 -->
<TextView
android:id="@+id/Tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="点击拍照预览效果"
/> <!-- 定义显示照相结果的图片控件 -->
<ImageView
android:id="@+id/Iv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"
android:layout_above="@+id/Btn" /> <!-- 定义用户点击拍照的按钮控件 -->
<Button
android:id="@+id/Btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="点击按钮使用摄像头拍照"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" /> </RelativeLayout>
package com.example.yanlei.yl;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle; import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.text.Html;
import android.text.Html.ImageGetter; import java.util.regex.Matcher;
import java.util.regex.Pattern; import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
import android.widget.Button; import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.provider.MediaStore;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView; public class MainActivity extends AppCompatActivity {
// 定义布局中的点击拍照的Button控件
private Button btn;
// 定义布局中给用户的提示内容的控件
private TextView Tv;
// 定义布局中显示的图片控件
private ImageView Iv; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到浏览器中的控件对象
findView();
//设置对象的监听器
setListener(); } private void setListener() {
// 设置btn的点击监听器
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//设置Intent的参数为通过摄像头获取的ACTION_IMAGE_CAPTURE
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//启动activity返回照片结果,设置返回的requestCode为1
startActivityForResult(intent, 1);
}
});
} private void findView() {
// 得到布局中的开始加载的Button的对象
btn = (Button) findViewById(R.id.Btn);
// 得到布局中的开始加载的EditText的对象
Tv = (TextView) findViewById(R.id.Tv);
// 得到布局中的开始加载的ImageView的对象
Iv = (ImageView) findViewById(R.id.Iv);
} /*
* 系统的intent结果返回回调函数
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//接受用户通过其他activity返回的数据
super.onActivityResult(requestCode, resultCode, data);
//如果请求的requestCode为1的话,进行处理
if (requestCode == 1) {
//得到返回的处理状态,如果是成功得到了照片返回RESULT_OK值
if (resultCode == RESULT_OK) {
//成功得到照片后,得到data对象中的data值,并且转换为Bitmap对象
Bitmap bmPhoto = (Bitmap) data.getExtras().get("data");
//设置Iv的显示对象为此Bitmap
Iv.setImageBitmap(bmPhoto);
}
}
} }

android 拍照预览的更多相关文章

  1. 【腾讯优测干货分享】Android 相机预览方向及其适配探索

    本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/583ba1df25d735cd2797004d 由于Android系统的开放策略 ...

  2. Android Camera2 预览,拍照,人脸检测并实时展现

    https://www.jianshu.com/p/5414ba2b5508 背景     最近需要做一个人脸检测并实时预览的功能.就是边检测人脸,边在预览界面上框出来.     当然本人并不是专门做 ...

  3. Android Camera2 预览功能实现

    1. 概述 最近在做一些关于人脸识别的项目,需要用到 Android 相机的预览功能.网上查阅相关资料后,发现 Android 5.0 及以后的版本中,原有的 Camera API 已经被 Camer ...

  4. Android Wear预览版——尝鲜

    前两天Google推出了Android Wear的SDK,稍稍的瞧了一眼,发现这个预览版的功能还是比较简单的,只有一个通知转发的功能,不过就这么一个功能,带来的效果却是Very Good~~ 功能:发 ...

  5. Android RecyclerView预览item

    参考: Android Tools Attributes listItem 和 Sample Data 的用法 笔记 tools:text TextView可以实现预览,不影响实际的效果 例如: to ...

  6. SurfaceView实现拍照预览

    一.布局代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro ...

  7. Android 摄像头预览悬浮窗

    用CameraX打开摄像头预览,显示在界面上.结合悬浮窗的功能.实现一个可拖动悬浮窗,实时预览摄像头的例子. 这个例子放进了单独的模块里.使用时注意gradle里的细微差别. 操作摄像头,打开预览.这 ...

  8. Android 摄像头预览悬浮窗,可拖动,可显示在其他app上方

    市面上常见的摄像头悬浮窗,如微信.手机QQ的视频通话功能,有如下特点: 整屏页面能切换到一个小的悬浮窗 悬浮窗能运行在其他app上方 悬浮窗能跳回整屏页面,并且悬浮窗消失 我们探讨过用CameraX打 ...

  9. Android Camera 预览图像被拉伸变形的解决方法【转】

    问题描述: 预览图像被拉伸变形 问题原因: 由于预览图像大小跟SurfaceView 大小不一致引起 解决方法: 获取系统支持的所有预览尺寸[getSupportedPictureSizes],然后再 ...

随机推荐

  1. P2261 bzoj1257 [CQOI2007]余数求和

    一道数论分块首先这类的求和写一下公式∑n%i=∑n-i*(n/i)= ∑n-∑i*(n/i) 前面的好求所以 ans=nk+∑k*(k/i);于是进行分块这里总结一下只要出现除法∑就进行分块由阿尔贝和 ...

  2. bzoj5138 [Usaco2017 Dec]Push a Box

    题目描述: bz luogu 题解: 暴力可以记录$AB$位置转移,这个时候状态是$n^4$的,无法接受. 考虑只记录$A$在$B$旁边时的状态,这个时候状态时$n^2$的. 所以说转移有两种,一种是 ...

  3. 【php】 PHP 支持 9 种原始数据类型

    PHP 支持 9 种原始数据类型. 四种标量类型: boolean(布尔型) integer(整型) float(浮点型,也称作 double) string(字符串) 三种复合类型: array(数 ...

  4. Spring中线程池的使用

    <bean id="threadPoolTaskExecutor" class="org.springframework.scheduling.concurrent ...

  5. C#自定义Excel操作类

    C#自定义Excel操作类,可以用于将DataTable导出到Excel文件,从Excel文件读取数据. using System; using System.IO; using System.Dat ...

  6. Django之url上的include,URL命名和反向解析,命名空间

    include其他的URLconfs   #At any point, your urlpatterns can “include” other URLconf modules. This #esse ...

  7. Python基础之字符串,布尔值,整数,列表,元组,字典,集合

    一.str字符串 1.capitalize字符串首字母大写 name = "json" v = name.capitalize() print(v) # 输出结果:Json 2.c ...

  8. 【01】git下载和安装的完整过程

    [03]下载地址: 有许多种安装方式,主要分为两种,一种是通过编译源代码来安装:另一种是使用为特定平台预编译好的安装包. Git 各平台安装包下载地址为:http://git-scm.com/down ...

  9. 45个有用的JavaScript技巧

    众所周知,JavaScript是世界上最流行的变成语言,不管是web网页,手机APP(例如PhoneGap或Appcelerator),还是服务器端(例如NodeJS或Wakanda)还有许多其他的实 ...

  10. Programming Python 3rd Edition 第三版 pdf chm下载

    Programming Python 作为一款经典系列书籍 非常的耐看 建议有志于学习python的童鞋好好看看 网上 Programming Python第四版的 pdf 下载非常容易 也就是最新的 ...