首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

【2013.07.17】自定义照相机对焦框等

2013-07-20 
【2013.07.17】自定义相机对焦框等1.好开心,自定义相机的对焦框出来了,虽然感觉有点蛋筒。之前也想用画图画的

【2013.07.17】自定义相机对焦框等

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

?

关键的代码

?

关键代码

Handler smoothHandler = new Handler();smoothHandler.post(new Runnable() {@Overridepublic 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去代表它

热点排行