我建设,支持自动对焦专用相机,并且仅仅是想知道是否有调用相同的自动对焦长方形的指标,本机摄像头具有或者,如果我必须建立一个从头开始..任何实例或教程链接会的方式不胜感激。
Answer 1:
这可能有助于看看最新的果冻豆4.2摄像头处理这个问题的方法。 可以按如下方式下载相机来源:
git clone https://android.googlesource.com/platform/packages/apps/Camera.git
一旦你的代码,浏览到FocusOverlayManager
类和PieRenderer
类。 如果你还没有尝试过这项最新版本,焦度计是一个馅饼般的循环,重点完成后转动。 你可以让你自己广场在Photoshop或使用这两个是我在过去使用的一个(一个是iPhone骗人货我做了,另一种是在某些版本的Android相机的使用九宫格):
果冻豆例子可能是你在找什么有点复杂,所以下面是我实现自动对焦的视觉反馈的方式的一些准则。 这个过程可以有些复杂。 我不会假装我的方法是做到这一点的最好办法,但这里是给你的总体思路一些示例代码...
在我的相机预览布局xml文件:
<!-- Autofocus crosshairs -->
<RelativeLayout
android:id="@+id/af_casing"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:clipChildren="false" >
<com.package.AutofocusCrosshair
android:id="@+id/af_crosshair"
android:layout_width="65dp"
android:layout_height="65dp"
android:clipChildren="false" >
</com.package.AutofocusCrosshair>
</RelativeLayout>
这AutofocusCrosshair类如下:
public class AutofocusCrosshair extends View {
private Point mLocationPoint;
public AutofocusCrosshair(Context context, AttributeSet attrs) {
super(context, attrs);
}
private void setDrawable(int resid) {
this.setBackgroundResource(resid);
}
public void showStart() {
setDrawable(R.drawable.focus_crosshair_image);
}
public void clear() {
setBackgroundDrawable(null);
}
}
当在我的活动,我要开始自动对焦我做到以下几点:
mAutofocusCrosshair = (AutofocusCrosshair) findViewById(R.id.af_crosshair);
//Now add your own code to position this within the view however you choose
mAutofocusCrosshair.showStart();
//I'm assuming you'll want to animate this... so start an animation here
findViewById(R.id.af_casing).startAnimation(mAutofocusAnimation);
并确保你的动画结束清除图像:
mAutofocusAnimation.setAnimationListener(new AnimationListener() {
@Override public void onAnimationEnd(Animation arg0) {
mAutofocusCrosshair.clear();
}
@Override public void onAnimationRepeat(Animation arg0) {}
@Override public void onAnimationStart(Animation arg0) {}
});
Answer 2:
如果你指的是小长方形这在相机应用的预览画面改变颜色,我敢肯定,你必须绘制自己。 很抱歉,如果这不是你想要的答案!
但是,您可以调用autoFocus()
它会后来者提供一个结果,它告诉相机是否是焦点。 由于API 14,如果相机在甚至会工作FOCUS_MODE_CONTINUOUS_PICTURE
。
我也很抱歉,我不知道,介绍如何使用对焦机制好的教程。 有一件事我已经在过去一周的经验教训:不调用autoFocus()
开始的预览图像之前,因为它崩溃了HTC的Nexus One。
我内置的示例代码我的第一个Android相机应用在http://marakana.com/forums/android/examples/39.html但要小心,因为写有代码的每个预览画面写入SD卡并迅速填满它! 还有的在那里约自动对焦没有代码。
编辑:当然,最终的示例代码,包括焦点指示符,是在相机应用的源代码。 这个问题: 我在哪里可以得到Android相机应用程序源代码? 告诉你如何得到它。 我只是按照说明那里得到了有关源代码的35Mbytes,我怕我没有发现的小矩形聚焦尚未!