android camera分辨率设置,请问如何使用camera2设置全屏preview,要求适配所有屏幕尺寸?...
官方demo中的TextureView中重写了onMeasure方法,如下:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = MeasureSpec.getSize(heightMeasureSpec);
if (0 == mRatioWidth || 0 == mRatioHeight) {
setMeasuredDimension(width, height);
} else {
if (width < height * mRatioWidth / mRatioHeight) {
setMeasuredDimension(width, width * mRatioHeight / mRatioWidth);
} else {
setMeasuredDimension(height * mRatioWidth / mRatioHeight, height);
}
}
}
这段代码使得TextureView在宽高都不超过手机屏幕的情况下最大化显示。
解决方案是,让TextureView总是达到最大边界,超出部分不进行预览(实际上还是能拍到的)。代码如下:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = MeasureSpec.getSize(heightMeasureSpec);
if (0 == mRatioWidth || 0 == mRatioHeight) {
setMeasuredDimension(width, height);
} else {
if (width > height * mRatioWidth / mRatioHeight) { //注意这里骚操作,替换"小于号"为"大于号"
setMeasuredDimension(width, width * mRatioHeight / mRatioWidth);
} else {
setMeasuredDimension(height * mRatioWidth / mRatioHeight, height);
}
}
}
实际上就是把判断条件中的 "" 即可,天知道这一小段代码害惨多少程序员。。
android camera分辨率设置,请问如何使用camera2设置全屏preview,要求适配所有屏幕尺寸?...相关推荐
- 【Android RTMP】Android Camera 视频数据采集预览 ( 图像传感器方向设置 | Camera 使用流程 | 动态权限申请 )
文章目录 安卓直播推流专栏博客总结 一. Camera 传感器方向简介 二. Camera 图像传感器横向显示数据 三. Camera 图像传感器纵向显示数据 四. 设置 Camera 预览数据方向 ...
- android gridview设置高度,android设置GridView高度自适应,实现全屏铺满效果
使GridView每个item的高度自适应拉伸,达到整个GridView刚好铺满全屏的效果. public static void setGridViewMatchParent(GridView gr ...
- 计算机屏幕尺寸不是全屏,为什么把电脑显示器分辨率调成1366X768后网页不能全屏显示呢?...
为什么把电脑显示器分辨率调成1366X768后网页不能全屏显示呢?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 为什么 ...
- android camera 分辨率,Android:相机帧分辨率大于640x480(Android: camera frame resolution larger than 640x480)...
Android:相机帧分辨率大于640x480(Android: camera frame resolution larger than 640x480) 在Android中,您需要将Surface设 ...
- android实现多画面播放,可无缝切换小窗/全屏的android播放器实现
效果: 普通模式多画面 / 全屏播放 小窗模式 布局和拖拽功能介绍 普通窗口下的视图层级关系 将AutoMonitorPlayer作为控件时,layout图层关系如上图.AutoMonitorPlay ...
- android屏幕适配的五种方式_讲一讲Android 9.0系统的新特性,对刘海屏设备进行适配...
黑客技术点击右侧关注,了解黑客的世界! Java开发进阶点击右侧关注,掌握进阶之路! Python开发点击右侧关注,探讨技术话题!作者丨郭霖来源丨郭霖(guolin_blog) 其实Android 9 ...
- Android:浏览图片,点击放大至全屏效果
最近做一个项目类似于QQ空间,做到照片浏览的功能,对于QQ空间中点击图片放大至全屏,感觉效果很赞,于是也做了个类似的效果.如下. 我不知道QQ那个是怎么做的,我的思路如下: 首先,从图片缩略界面跳转到 ...
- android 按键铺满屏幕,安卓全屏状态下键盘充满屏幕留不出ui控件的解决办法附edittext和键盘的属性...
1.我们先看看常用和不常用的属性值(Edittext) android:inputType参数类型说明 android:inputType="none"--输入普通字符 andro ...
- Android学习之Android 5.0分享动画实现微信点击全屏效果
Android5.0过渡动画,请看 http://blog.csdn.net/qq_16131393/article/details/51112772 今天用分享动画实现微信点击全屏效果 本文源代码下 ...
最新文章
- 使用 PHP 构建的 Web 应用如何避免 XSS 攻击
- HDOJ 3709 Balanced Number
- activiti实现跳转节点的方法
- ofbiz 分开默认数据库
- 手机端连线题html5,基于Canvas的html5连线题
- php百度搜索接口api,百度开放平台API调用
- node下运行js文件实时更新文件变化
- win10网络计算机删除,手把手教你彻底删除win10系统自带的微软拼音输入法-网络教程与技术
-亦是美网络...
- 编程篇(002)-js实现一个打点计时器
- 计算机网络之IP协议与以太网
- AndroidStudio模拟器全面屏皮肤
- java小游戏-超级玛丽
- assertThat使用方法
- 技术创业者必读:从验证想法到技术产品商业化的全方位解析
- 当年,我被智联招聘坑惨了!
- 斯隆奖获得者李博:从博弈论出发,和「偶像」并肩的感觉很好 | 青源专栏
- 我与小娜(20):去LIGO,探秘光子接力赛
- 4.BLDC电机控制算法
- MTK平台thermal介绍
- 2021年中国政府引导基金设立数量、目标规模、认缴规模及分布[图]
热门文章
- QT的QQuickImageProvider类的使用
- 新手制作bom表格教程_抖音短视频怎么制作?这里有全部最新教程+指导,新手0基础上手!...
- IntelliJ IDEA2017 修改缓存文件的路径(转载:https://www.cnblogs.com/acm-bingzi/p/ideaCachePath.html)
- Scala模式匹配,case 字符串,case 匹配类型,case 匹配数组,case 匹配List,case 匹配元组,case匹配case class和case object
- Spring管理session的一些认识和用法心得
- Java的calendar类用法
- code vs 集成tfs_关于编译器和集成开发环境,一文给你讲明白!
- python微服务监控_如何用zabbix监控微服务
- C++中结构体、联合体、枚举的区别
- Android持久化存储(1)文件存储