1.
好开心,自定义相机的对焦框出来了,虽然感觉有点蛋筒。之前也想用画图画的 ,可是因为蛋筒的数据传递问题抛弃了自定义SurfaceView,在Acivity中不能override onDraw方法,暂时不知道可行性。
所以采取的方式是,在相机预览的界面的点击位置显示一个对焦框的图片。这个图片位置的设定,没有直接的通过中心点坐标设置的方法,只能绕道,获得触摸点坐标后,设置图片的Margin。
ViewGroup.MarginLayoutParams 中有setMargins(int left, int top, int right, int bottom)方法
可以设置控件在界面上的上下左右margin。
我要动态显示的ImageView在一个LinearLayout中的FrameLayout中,所以给ImageView设置Parameters的时候用到
FrameLayout.LayoutParams
关键的代码
/** * @描述 自动对焦 * */ AutoFocusCallback autoFocus = new AutoFocusCallback() { @Override public void onAutoFocus(boolean success, Camera camera) { if (success) { ViewGroup.MarginLayoutParams margin = new ViewGroup.MarginLayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); margin.setMargins((int)(x-46.5), (int)(y-46.5), 0, 0); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( margin); focus.setLayoutParams(params); System.out.println(focus.getLayoutParams().getClass()); focus.setVisibility(ImageView.VISIBLE); /* * 2秒后,自动对焦框消失 * */ Handler timeHandler = new Handler(); timeHandler.post(new Runnable() { @Override public void run() { try { Thread.sleep(2000); if (0 == focus.getVisibility()) { focus.setVisibility(ImageView.GONE); } } catch (InterruptedException e) { e.printStackTrace(); } } }); } } };
2. 拍完照后,在当前界面有一个ScrollView对已经拍摄的照片的缩略图的展示,怎样让那个ScrollView每次滚动到当前拍摄的界面呢。当然用到ScrollView的smoothScrollTo(int x, int y)方法,把它放到一个Runnable中去执行。
每个ImageView都有自己的高度,记录ImageView的个数,x=0,y=ImageView的高度×ImageView的个数。
感谢eoe某用户
关键代码
Handler smoothHandler = new Handler(); smoothHandler.post(new Runnable() { @Override public void run() { int offset = iv.getMeasuredHeight() * photoPromts.length; if (offset < 0) { offset = 0; } scrollView.smoothScrollTo(0, offset); } });
3.在ScrollView中有一个LinearLayout,在这个LinearLayout中才是多个ImageView,怎样给这些ImageView设置监听,能够在点击他们时可以预览大图呢。直接给它setOnclickListener就可以了,只不过我这里的ImageView是final类型,会报
The final local variable iv cannot be assigned, since it is defined in an enclosing type 编译错。
就再定义一个ImageView去代表它
相关推荐
在Android平台上,自定义相机是一项常见的功能,它允许开发者根据特定需求定制相机界面和功能,以提供更加个性化和丰富的用户体验。下面将详细讲解如何在Android中实现自定义相机。 首先,你需要创建一个新的`...
FastReport.Net+V2013.2.5+For+.Net4.0_附安装与破解_个人测试程序 1.首先安装FastReport.Net+V2013.2.5 For Net 4.0 的原始安装文件[FRNetDemo2010.msi] 2.将FastReport.Net+V2013.2.5+For+.Net4.0文件夹中的...
SW2010-2013.Activator.SSQ
Android自定义身份证相机-IDCardCamera 效果图: 功能特点 自定义相机界面 支持开启闪光灯 支持手动触摸屏幕对焦 支持自动对焦 支持图片自动裁剪 支持图片手动不规则裁剪 2 使用 Step 1. 添加JitPack仓库 在...
W3School离线手册(2015.07.17) W3School离线手册更新: 该文档为本人于2015年7月17日下午从W3School官网下载整理制作的CHM电子书文档。 1)要是有些人碰到chm打开空白的(因为chm未解锁,通常可以打开chm但显示无法...
2. **折叠策略**:通过编写自定义折叠策略,可以分析代码的语法结构,识别出函数、类、块等结构,并设置为可折叠。这需要对解析器和编辑器API有深入的理解。 3. **API调用**:使用`ICSharpCode.TextEditor.Document...
《Intel Visual Fortran Composer XE 2013许可证书详解及Fortran 2013编程基础》 Intel Visual Fortran Composer XE 2013是一款由Intel公司推出的高性能计算开发工具,专为科学计算和工程应用设计。这款编译器提供...
【fastReport 2013.2.5 for .NET Framework 4】是适用于Microsoft .NET Framework 4.0环境的报表开发工具。FastReport是一款功能强大的报表引擎,旨在简化和加速应用程序中的报告生成过程。它允许开发者在Windows ...
在Windows编程中,自定义控件是开发者根据需求创建的独特用户界面元素,它们通常由基本的系统控件(如按钮、编辑框等)进行扩展或完全自定义绘制。在这个项目中,`V85CustomTabCtrlDemo`可能是一个示例应用程序,...
总之,Android自定义相机功能的实现涉及多个步骤,包括初始化相机、设置参数、处理对焦、拍照和释放资源。自动对焦相对简单,而手动对焦则需要更巧妙的处理。务必测试不同设备上的表现,因为相机硬件和实现可能会...
FastReport.Net V2013.2.5 For .Net4.0 绿色版本,不需要安装 已去除导出与打印5页限制,去除导出与打印所带的DEMOVERSION水印.
通过学习这个示例,你不仅可以学会如何自定义复选框,还能进一步提升对QML的理解,包括组件的扩展、样式设计、交互逻辑以及性能优化等。这对于任何想要在Qt平台上开发美观且功能丰富的用户界面的开发者来说都是宝贵...
intel fortran 2013 破解文件
webpack.config.js 自定义
在传统的数码相机中,移动对焦通过调整镜头位置来实现。而在智能手机中,由于空间限制,通常采用对比度检测自动对焦(Contrast Detection AF)或相位检测自动对焦(Phase Detection AF)。Android系统提供了API支持...
在Android平台上,开发一款应用,实现自定义相机功能并让拍照界面呈现出圆形拍摄框,是一项技术挑战。这个功能常用于创建类似Instagram或某些社交应用的个性化拍摄体验,让用户拍摄的照片中心区域聚焦为圆形,增强...
☆ 资料说明: ☆ Telerik OpenAccess ORM 2013 Q1 2013.1.219 此版本为开发版(零售版),无需序列号、无需破解;
在本教程中,我们将深入探讨如何使用Leaflet库在地图上叠加自定义的tooltip,以增强用户交互体验。Leaflet是一个轻量级的JavaScript库,专门用于创建交互式地图,适用于各种Web应用。通过自定义tooltip,我们可以为...
同时,考虑到性能和用户体验,缩放操作应当在不影响其他相机功能(如对焦、曝光等)的前提下进行。 在CameraDemo-master这个项目中,开发者可能已经实现了对焦和缩放功能的示例代码。通过对源码的学习,你可以了解...
1. **可配置性**:一个好的自定义信息框模块应该提供多种配置选项,如调整尺寸、设置背景色、选择字体等,以便适应不同的使用场景。 2. **多语言支持**:对于多语言应用,信息框需支持文本的国际化,方便根据不同...