写在前面的话:每一个实例的代码都会附上相应的代码片或者图片,保证代码完整展示在博客中。最重要的是保证例程的完整性!!!方便自己也方便他人~欢迎大家交流讨论~
接下来要在自定义相机上添加取景框,即中间掏空旁边半透明的浮层/蒙板。我一开始搜索的是“蒙板”,找到的基本是新手指引界面的做法,就是一进某个页面就出现半透明蒙板告诉你应用哪里内容有更新,点击查看更新,另外点击屏幕任意处蒙板消失。我觉得这和我所要达到的结果是相类似的,只要把点击事件从任意屏幕处改为拍照按钮即可。于是我决定先做一个蒙板,最后再和自定义相机的代码结合起来,不过还会有修改,下一篇中我会讲到结合的过程。这一篇先讲怎么做蒙板,另外此篇蒙板代码是可以直接用作新手指引浮层的,再根据自己的需求修修改改就好。如果关心怎么达到取景框效果的可以直接看下一篇了……(好的!下一篇我会尽快写出来)
新建项目和文件
新建名为的项目,文件名我直接截图出来了,有画重点哦,不然每次复制粘贴手打实在是太麻烦了orz……
values文件夹
themetranslucency.xml
这里编辑了自定义view的style
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ThemeOfTranslucency" parent="@android:style/Theme.Translucent.NoTitleBar">
<item name="android:windowAnimationStyle">@style/Animation</item>
</style>
<style name="Animation">
<item name="android:activityOpenEnterAnimation">@null</item>
<item name="android:activityOpenExitAnimation">@null</item>
<item name="android:activityCloseEnterAnimation">@null</item>
<item name="android:activityCloseExitAnimation">@null</item>
<item name="android:taskOpenEnterAnimation">@null</item>
<item name="android:taskOpenExitAnimation">@null</item>
<item name="android:taskCloseEnterAnimation">@null</item>
<item name="android:taskCloseExitAnimation">@null</item>
<item name="android:taskToFrontEnterAnimation">@null</item>
<item name="android:taskToFrontExitAnimation">@null</item>
<item name="android:taskToBackEnterAnimation">@null</item>
<item name="android:taskToBackExitAnimation">@null</item>
</style>
</resources>
layout文件夹
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
>
<Button
android:id="@+id/button1"
android:gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始拍照"/>