android camera 布局分析

1.camera 布局

camera.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <RelativeLayout
        android:id="@+id/app_root"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
        <include layout="@layout/preview_frame" />
        <include layout="@layout/priority_indicators" />
        <include layout="@layout/camera_control"/>
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/freeze"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="invisible">
        <include layout="@layout/freeze_image"/>
        <include layout="@layout/freeze_button"/>
    </RelativeLayout>
</FrameLayout>

 android:id="@+id/freeze" 是定屏拍摄时的布局,默认是设为 invisible的

<include layout="@layout/preview_frame" />预览图片区域
preview_frame.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/frame_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:background="@drawable/bg_camera_pattern">


    <com.android.camera.PreviewFrameLayout
        android:id="@+id/frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true" >


        <SurfaceView
            android:id="@+id/camera_preview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />

        <com.android.camera.ui.FaceView
            android:id="@+id/face_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:visibility="gone" />

        <include layout="@layout/focus_indicator" />
        <!-- <include layout="@layout/priority_indicators" /> -->
    </com.android.camera.PreviewFrameLayout>

</RelativeLayout>

PreviewFrameLayout 是一个layout ,里面包括surfaceView  camera_preview,  face_view ,  focus_indicator
        <SurfaceView
            android:id="@+id/camera_preview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
是预览的区域,
<com.android.camera.ui.FaceView
是人脸识别的布局  可以框住人脸的区域,在预览上面
<include layout="@layout/focus_indicator" />
预览界面上面的,闪光灯之类的图标,可以旋转,是FocusIndicatorView

<include layout="@layout/priority_indicators" />
这个布局是中camera的设置界面  包括相机设置,色彩界面,取景模式,曝光,白平衡等

<include layout="@layout/camera_control"/>



com.android.camera.ui.ControlPanelLayout
这个layout是包括录像照相切换  以上的layout是包括 拍照按钮,camera和video camera切换,以及调用gallary的小缩略图

<com.android.camera.ui.IndicatorControlBarContainer
这个layout是中间zoom 大小的那个bar,
                <com.android.camera.ui.RotateImageView
                    android:id="@+id/second_level_indicator_bar_icon"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:layout_alignParentLeft="true"
                    android:background="@drawable/bg_pressed"
                    android:contentDescription="@string/accessibility_second_level_indicators"
                    android:src="@drawable/ic_settings_holo_light" />
这个是 indicator bar 点击之后变蓝的 布局


<com.android.camera.ui.SecondLevelIndicatorControlBar
这个布局是右面zoom_control和相机设置的切换的bar

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值