实现方式一(使用系统透明样式)

通过配置 Activity 的样式来实现,在 AndroidManifest.xml 找到要实现透明效果的 Activity,在 Activity 的配置中添加如下的代码设置该 Activity 为透明样式,但这种实现方式只能实现纯透明的样式,无法调整透明度,所以这种实现方式有一定的局限性,但这种方式实现简单。

android:theme="@android:style/Theme.Translucent"

  

 <activity
android:name="cn.sunzn.transact.MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

  

实现方式二(使用自定义透明样式)

这种方式的实现同样要配置 Activity 的样式,只不过这里的样式是我们自定义的。具体实现过程如下:

1 在 res/values/color.xml 文件下加入一个透明颜色值,这里的 color 参数,是两位数一个单位,前两位数是透明度,后面每两位一对是16进制颜色数字,示例中为白色。

<?xml version="1.0" encoding="utf-8"?>
<resources> <color name="translucent_background">#80000000</color> </resources>

  2 在 res/values/styles.xml 文件中加入一个自定义样式,代码如下。

<!-- item name="android:windowBackground"         设置背景透明度及其颜色值 -->
<!-- item name="android:windowIsTranslucent" 设置当前Activity是否透明-->
<!-- item name="android:windowAnimationStyle" 设置当前Activity进出方式-->
<style name="translucent">
<item name="android:windowBackground">@color/translucent_background</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
</style>

 3 在 AndroidManifest.xml 找到要实现透明的 Activity,在想要实现透明的 Activity 中配置其属性,代码如下;也可在该 Activity 的 onCreat() 方法中调用 setTheme(R.style.translucent) 来实现。

<activity
android:name="cn.sunzn.transact.MainActivity"
android:label="@string/app_name"
android:theme="@style/translucent" >
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

  最后你的Activity 需要继承Activity,不然报

Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

的错误

参考于:https://www.cnblogs.com/sunzn/p/3584003.html

最新文章

  1. SimpleDateFomat里面的parse方法的使用
  2. trie字典树详解及应用
  3. SSM框架-----------SpringMVC+Spring+Mybatis框架整合详细教程
  4. Java表单中关于JavaScript的非空必输验证,你的程序和大牛有多少差距╮( ̄▽ ̄&quot;)╭
  5. 佛祖保佑,永无bug
  6. 【Android】不依赖焦点和选中的TextView跑马灯【2】
  7. 第45讲:Scala中Context Bounds代码实战及其在Spark中的应用源码解析
  8. sql server 数据库备份,完整备份,差异备份,自动备份说明
  9. 菜鸟学习Spring——初识Spring
  10. android ProgressBar 样式讲解
  11. 【C++11】 lambda表达式
  12. JAVA中运用数组的四种排序方法
  13. window.close()方法对谷歌和火狐浏览器无效
  14. echarts异步数据加载(在下拉框选择事件中异步更新数据)
  15. Java8之Lambda表达式基础
  16. MVC开发模式简述
  17. 基于windows环境的Flask网站搭建(mysql + conda + redis)
  18. Log4j分级别存储日志到数据库
  19. MQTT研究之EMQ:【wireshark抓包分析】
  20. [小结] 中山纪念中学2018暑期训练小结(划掉)(颓废记)-Day10

热门文章

  1. selenium 简介 及浏览器配置
  2. Java中的 Invalid character constant(无效的字符常数)
  3. UrlRouting原理笔记
  4. springboot模板(Freemarker与Thymeleaf)
  5. Linux性能优化实战学习笔记:第二十六讲
  6. MySQL实战45讲学习笔记:第二十二讲
  7. convert decimal to binary
  8. oracle 错误 ORA-00020问题解析
  9. [转载]3.3 UiPath鼠标操作图像的介绍和使用
  10. kibana无法显示elasticsearch中的index