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去代表它
相关推荐
可用于vivado 2013.4 2014等多个版本license 下载了很多以前的,就这个可以顺利编译,不会提示lisence问题
在Android开发中,自定义相机是一项常见的需求,它允许开发者根据特定的应用场景或者设计风格定制相机界面和功能。本文将详细讲解如何使用Camera API和Camera2 API结合TextureView来实现一个自定义相机,并添加相机...
【fastReport 2013.2.5 for .NET Framework 4】是适用于Microsoft .NET Framework 4.0环境的报表开发工具。FastReport是一款功能强大的报表引擎,旨在简化和加速应用程序中的报告生成过程。它允许开发者在Windows ...
除了基本的拍照功能,自定义相机还可以实现许多高级特性,如滤镜、手势识别、连拍模式、人脸识别等。这些特性通常需要更深入的Camera API理解和额外的代码实现。 总之,Android自定义相机的实现涉及对Camera API的...
EDA_BOMHelper V2013.10.10完美破解版补丁,仅支持32位系统 。
人脸表情识别 表情识别fer2013数据集,将图片从一个文件中提取成一张一张的图片,包含以下几种表情: 0 anger 生气 1 disgust 厌恶 2 fear 恐惧 3 happy 开心 4 sad 伤心 5 surprised 惊讶 6 normal 中性
总之,Android自定义相机功能的实现涉及多个步骤,包括初始化相机、设置参数、处理对焦、拍照和释放资源。自动对焦相对简单,而手动对焦则需要更巧妙的处理。务必测试不同设备上的表现,因为相机硬件和实现可能会...
在Android平台上,开发一款应用程序,特别是涉及到多媒体功能如拍照和录像时,往往需要对系统相机进行深入理解并可能需要自定义界面。本话题主要聚焦于"Camera进阶,自定义拍照录像界面",我们将深入探讨如何实现这...
在iOS开发中,自定义相机是一项常见的需求,它允许开发者为用户提供更加个性化和功能丰富的拍照体验。本项目“ios-关于相机的操作自定义相机,新增缩放,聚焦功能”就是一个针对这一需求的示例实现。下面我们将详细...
相机对焦精度是摄影爱好者和专业摄影师非常关注的一项指标,因为它直接影响到拍摄出的照片清晰度。通过对焦精度测试卡,我们可以有效地评估相机镜头的聚焦性能,确保拍摄时能准确捕捉到想要表现的细节。下面我们将...
除了基本的倒计时功能,jQuery.countdown.js还支持其他高级特性,如设定时间间隔更新、自定义样式等。通过深入研究文档和实践,开发者可以充分利用这个插件,创建出满足各种需求的倒计时效果。 总结来说,jQuery....
3. **布局设计**:描述中提到的“有个框”,可能指的是一个用于对准的取景框,这是自定义相机界面中常见的元素,通常是一个矩形或圆形,用来帮助用户确定拍摄范围。而“拍照按钮、确定按钮和取消按钮”则是基本的...
在IT领域,自定义信息框模块是一个非常关键的组件,特别是在软件开发中。它允许开发者根据项目需求创建具有特定功能和样式的对话框或者提示窗口。这个“完整版自定义信息框模块.rar”可能包含了一个全面的解决方案,...
综上所述,自定义相机程序涉及了多个技术层面,包括相机API的使用、对焦模式的设定、图像的裁剪和旋转以及可能的图像识别功能。开发者需要对这些知识点有深入理解,才能构建出功能完善的自定义相机应用。
Aspose Total for NET 2013.08.13 最新破解,danny_su 大作,花了5个贡献分下载的了!
Java.Network.Programming(4th,2013.10)].Elliotte.Rusty.Harold.文字版.epub
☆ 资料说明: ☆ Telerik OpenAccess ORM 2013 Q1 2013.1.219 此版本为开发版(零售版),无需序列号、无需破解;
注:自定义数据类型文本 必须跟 当前的数据类型一致,否则崩溃没商量...工作原理是根据 自定义数据类型 文本,来保存,还原自定义数据类型。1:支持自定义数据类型中嵌套自定义数据类型。2:支持自定义数据类型 基本类型...
"番茄编辑器"(TomatoEdit)是一款专为提高用户工作效率而设计的文本编辑软件,其2013年8月19日的版本(tomatoEdit_2013.8.19.rar)是这次讨论的重点。该压缩包包含了一个特定版本的程序文件,1697fff697584691a88...