Android Studio:增加蒙板/浮层特效

本文介绍如何在Android Studio中实现一个自定义相机的取景框,即中间透明,周围半透明的浮层/蒙板效果。通过新建项目、设置values文件夹中的themetranslucency.xml,编辑layout文件夹中的XML布局,以及编写Java文件来实现蒙板功能。提供的代码可以用于创建新手指引界面,并提供了Butter Knife库的使用和相关文档链接。
摘要由CSDN通过智能技术生成

写在前面的话:每一个实例的代码都会附上相应的代码片或者图片,保证代码完整展示在博客中。最重要的是保证例程的完整性!!!方便自己也方便他人~欢迎大家交流讨论~

接下来要在自定义相机上添加取景框,即中间掏空旁边半透明的浮层/蒙板。我一开始搜索的是“蒙板”,找到的基本是新手指引界面的做法,就是一进某个页面就出现半透明蒙板告诉你应用哪里内容有更新,点击查看更新,另外点击屏幕任意处蒙板消失。我觉得这和我所要达到的结果是相类似的,只要把点击事件从任意屏幕处改为拍照按钮即可。于是我决定先做一个蒙板,最后再和自定义相机的代码结合起来,不过还会有修改,下一篇中我会讲到结合的过程。这一篇先讲怎么做蒙板,另外此篇蒙板代码是可以直接用作新手指引浮层的,再根据自己的需求修修改改就好。如果关心怎么达到取景框效果的可以直接看下一篇了……(好的!下一篇我会尽快写出来)

新建项目和文件

新建名为的项目,文件名我直接截图出来了,有画重点哦,不然每次复制粘贴手打实在是太麻烦了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="开始拍照"/>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值