Android 设置Activity样式 透明度

摘要:
--是否在活动--˃true@+android:style/Animation半透明下面是一个简单的半透明效果,类似于微信登录和切换账户时弹出的以下三个按钮,上面是一个半透明效果#9000@color/trans_parenttrue˃@+android:style/动画。半透明定义主题后,需要在活动配置中引用主题!

一、设置Activity透明度
有几种方法:
1>.在清单文件中配置Activity时声明android:theme="@android:style/Theme.Translucent"
2>.使用自定义主题,先看看自定义主题中需要用到的一些属性设置说明

<style name="custom"parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item><!--边框 -->
        <item name="android:windowIsFloating">true</item><!--是否悬浮在activity上 -->
        <item name="android:windowIsTranslucent">true</item><!--半透明 -->
        <item name="android:windowNoTitle">true</item><!--无标题 -->
        <item name="android:windowBackground">@android:color/transparent</item><!--背景透明 -->
        <item name="android:backgroundDimEnabled">false</item><!--模糊 -->
        <item name="android:backgroundDimAmount">0.6</item><!--灰度 -->
        <item name="android:windowContentOverlay">@null</item><!--窗口是否有遮盖 -->
        <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item><!--Activity切换动画效果,也可以自定义 -->
        <item name="android:colorBackgroundCacheHint">@null</item><!--背景缓存颜色 -->
    </style>

下面是一个简单的半透明效果,类似微信登录切换账号时,下面会弹出三个按钮,上面是半透明的效果;

    <color name="trans_parent">#9000</color> <!--透明度-->
  <!-- 在此添加一种颜色值模式ARGB{xxxxxxxx},A{前两位}表示Appha即透明度,取值为0-255 -->
    <style name="TransParentTheme">
        <item name="android:windowBackground">@color/trans_parent</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item> <!--Activity切换动画效果-->
    </style>

定义好主题之后需要在Activity配置中进行对主题的引用!

在代码中对窗体设置透明度灰度的方法
设置透明度(这是窗体本身的透明度,非背景)
        WindowManager.LayoutParams windowLP =getWindow().getAttributes();
        windowLP.alpha = 0.5f;
        getWindow().setAttributes(windowLP);
alpha在0.0f到1.0f之间。1.0完全不透明,0.0f完全透明
设置灰度
        WindowManager.LayoutParams windowLP =getWindow().getAttributes();
        windowLP.dimAmount = 0.5f;
        getWindow().setAttributes(windowLP);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dimAmount在0.0f和1.0f之间,0.0f完全不暗,1.0f全暗
这些设置对dialog对话框同样也有效;
二、设置Activity/Application全屏
1.在代码中设置
       //无title    
requestWindowFeature(Window.FEATURE_NO_TITLE);    
        //全屏    
getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN);
       //此两段代码必须设置在setContentView()方法之前
       setContentView(R.layout.main);  

2.在配置文件中设置
在Activity的声明中设置主题为全屏

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

免责声明:文章转载自《Android 设置Activity样式 透明度》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇从Maya中导入LightMap到unity中第一份工作JAVA下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

android悬浮窗口的实现

当我们在手机上使用360安全卫士时,手机屏幕上时刻都会出现一个小浮动窗口,点击该浮动窗口可跳转到安全卫士的操作界面,而且该浮动窗口不受其他activity的覆盖影响仍然可见(多米音乐也有相关的和主界面交互的悬浮小窗口)。那么这种不受Activity界面影响的悬浮窗口是怎么实现的呢? 竟然它能悬浮在手机桌面,且不受Activity界面的影响,说明该悬浮窗...

android 在manifest 中设置 多个Activity时的 默认 根 Activity

An <activity> element can also specify various intent filters—using the <intent-filter> element—in order to declare how other application components may activate it. W...

Android Handler与多线程

本文首先解释一下handler是用来干嘛的,然后通过例子介绍其在多线程中的应用。 什么是Handler      handler通俗一点讲就是用来在各个进程之间发送数据的处理对象。在任何进程中,只要获得了另一个进程的handler则可以通过 handler.sendMessage(message)方法向那个进程发送数据。基于这个机制,我们在处理多线程的时...

R语言中判断是否是整数。以及读写excel

今天接手一个重复性工作, 需要手工把产品运营们在excel里写的活动规则, 插入数据库表中。为了减少出错, 提高效率。 再加上最近刚刚学R语言, 就用R练练手, 自动生成mysql的sql语句。 一次性提交。 刚才就是判断一个值是否是整数折腾了一小会儿。后来发现R判断这个很简单。 就是as.integer(money) != as.numeric(mone...

获取apk的Activity和Package

2.查看包名和activity adb logcat|grep -i activitymanager 获取当前界面的activity 1.adb shell dumpsys window windows 2.adb shell dumpsys window windows| grep mCurrentFocus 3.获取Package aapt d...

android Service介绍

一、简介 android中service(服务)运行于后台,没有界面。和其他组件一样,service也运行在主线程中,因此不能用它来做耗时的请求或者动作。可以在服务中开启线程,在线程中做耗时操作。可以启动一个服务service来播放音乐,或者记录地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作。 二、Service的种类 服务一般分为两种: 1...