android camera 布局分析
16lz
2021-12-04
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
更多相关文章
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Fedora镜像
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
- Android之使用摄像头拍照
- activity 标签总结1
- android fragment ,listview 嵌套横向HorizontalScrollView 实现H
- activity页面切换效果
- Android(安卓)横竖屏切换
- Android重写onConfigurationChanged规避横竖屏切换时候重新进入o
- android横竖屏切换