【2013.07.17】自定义相机对焦框等
1.
好开心,自定义相机的对焦框出来了,虽然感觉有点蛋筒。之前也想用画图画的 ,可是因为蛋筒的数据传递问题抛弃了自定义SurfaceView,在Acivity中不能override onDraw方法,暂时不知道可行性。
?
所以采取的方式是,在相机预览的界面的点击位置显示一个对焦框的图片。这个图片位置的设定,没有直接的通过中心点坐标设置的方法,只能绕道,获得触摸点坐标后,设置图片的Margin。
?
?
可以设置控件在界面上的上下左右margin。
?
我要动态显示的ImageView在一个LinearLayout中的FrameLayout中,所以给ImageView设置Parameters的时候用到
?
关键的代码
?
关键代码
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去代表它