透明activity来实现悬浮蔗罩
第一步, activity的代码, 关键代码是进出动画采用淡入淡出方式,让蔗罩出现消失更自然,全屏
public class RobotGuidceV2Activity extends RoboActivity implements View.OnClickListener {
@InjectView(R.id.iv_iknow)
private ImageView mIvIknow;
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); //全屏
setContentView(R.layout.activity_robot_guidcev2);
context = this;
mIvIknow.setOnClickListener(this);
overridePendingTransition(R.anim.fadein, R.anim.fadeout); //动画
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.iv_iknow:
PreferencesUtils.putBoolean(context, AppConst.ROBOT2_ASKTIMES_GUIDCE_OPENED, true);
finish();
overridePendingTransition(R.anim.fadein, R.anim.fadeout);
break;
}
}
}
动画布局,fadein.xml, fadeout.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="300"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="300"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
第二步, 界面布局文件,背景采用带透明度的颜色背景
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rel_msg_popup_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#aa000000"> //透明背景 <FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"> <ImageView
android:id="@+id/iv_iknow"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/rel_vp_container"
android:layout_centerInParent="true"
android:layout_gravity="center"
android:layout_marginBottom="20dp"
android:layout_marginTop="10dp"
android:background="@android:color/transparent"
android:src="@drawable/btn_iknow" /> <ImageView
android:id="@+id/iv_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rel_vp_container"
android:layout_gravity="bottom"
android:layout_marginBottom="2dp"
android:layout_marginLeft="25dp"
android:src="@drawable/oval1" /> <ImageView
android:id="@+id/iv_arraw1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginBottom="70dp"
android:layout_marginLeft="80dp"
android:src="@drawable/arrow1" /> <ImageView
android:id="@+id/iv_text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginBottom="220dp"
android:layout_marginLeft="30dp"
android:src="@drawable/text1" /> <ImageView
android:id="@+id/iv_arraw2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_marginBottom="70dp"
android:layout_marginRight="80dp"
android:src="@drawable/arrow2" /> <ImageView
android:id="@+id/iv_text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_marginBottom="120dp"
android:layout_marginRight="30dp"
android:src="@drawable/text2" /> <ImageView
android:id="@+id/iv_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_marginBottom="2dp"
android:layout_marginRight="20dp"
android:src="@drawable/oval2" />
</FrameLayout>
</RelativeLayout>
静态效果图

第三步, 在androidmanifest.xml文件配置Activity属性这一步很关键,第二次搞这个效果的时候,我就在在这一步被坑了很久,所以才决心做个笔记。activity必须指定一个透明的style,否则布局中的透明设置不生效
<activity
android:name=".android.activity.robotqa.RobotGuidceV2Activity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity
带translucent的theme基本上都有透明效果
透明activity来实现悬浮蔗罩的更多相关文章
- 全透明Activity
第一步:在/res/values/styles里面添加如下代码: <style name="translucent"> <item name="andr ...
- [Bug] 解决透明 Activity 在 Android 6.0 背景不透明
如何复现 连续启动两个 Activity ,其中 Activity 1 为 不透明 的 Activity Activity 2 为 透明 的 Activity 通常用于引导页面,例如:豌豆夹锁屏引导用 ...
- 浅析Activity不可见与透明
http://blog.csdn.net/lincyang/article/details/6868582 看见标题也许你会有疑问,不可见和透明不是一个意思吗? 从字面上看,这还真是差不多.但在Act ...
- Android悬浮窗口的实现
效果图:(悬浮框可拖动) 在项目开发中有一个需求:弹出悬浮窗后,响应悬浮窗的事件再弹出对话框,但是对话框怎么也不显示.也就是说在弹出悬浮框的同时,不能再弹出对话框,可能的原因: 1.悬浮框的焦点在最前 ...
- 简易的可拖动的桌面悬浮窗效果Demo
首先,我们需要知道,悬浮窗分为两种:Activity级别的悬浮窗,系统级别的悬浮窗 Activity级别的悬浮窗跟随所属Activity的生命周期而变化,而系统级别的悬浮窗则可以脱离Activity而 ...
- Android 应用内悬浮控件实践总结
在工作中遇到一个需求,需要在整个应用的上层悬浮显示控件,目标效果如下图: 首先想到的是申请悬浮窗权限,OK~ 打开搜索引擎,映入眼帘的并不是如何申请,而是“Android 悬浮窗权限各机型各系统适配大 ...
- Android仿360手机卫士悬浮窗效果
请看下图: 首先是一个小的悬浮窗显示的是当前使用了百分之多少的内存,点击一下小悬浮窗,就会弹出一个大的悬浮窗,可以一键加速.好,我们现在就来模拟实现一下 ...
- 【Android Demo】悬浮窗体实现
突然对悬浮窗体感兴趣,查资料做了个小Demo,效果是点击按钮后,关闭当前Activity,显示悬浮窗口,窗口可以拖动,双击后消失.效果图如下: 它的使用原理很简单,就是借用了WindowManager ...
- Android Activity的生命周期详解
应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最 ...
随机推荐
- const的位置与区别
转自 http://www.cnblogs.com/wucx/p/4566176.html 一个比较经典的问题——问以下两种声明的区别:1) const char * p2) char * co ...
- iOS开发 代码 或 <Home+Power>截屏
1. 截屏的两种简单方法, 注意这两种截图方法,都必须在视图完全加载完成后才能截图,即在 viewDidAppear 方法之后截屏,否则无法得到想要的截屏效果 (1) 利用绘图方法 renderI ...
- [原创.数据可视化系列之五]韩国"萨德"系统防御图
自从7月8日美国和韩国共同宣布将在韩国部署萨德反导系统后,韩国国内对此事的巨大争议以及本地区一些国家的强烈不满情绪在持续发酵.“萨德”(THAAD)全称“末段高空区域防御系统”,是美国导弹防御局和美国 ...
- C# 模拟键盘操作--SendKey(),SendKeys()
模拟键盘输入就是使用以下2个语法实现的.SendKeys.Send(string keys); //模拟汉字(文本)输入SendKeys.SendWait(string keys); //模拟按键输 ...
- CSS3转换
一.2D转换 1.css3 rotate()旋转 通过指定的角度参数对原元素指定一个2D rotation(2D 旋转) 语法: transform:rotate(<angle>); ...
- iOS常用库之Masonry
简单介绍 Masonry 源码地址:https://github.com/Masonry/Masonry Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简 ...
- flask文件的上传和下载
from werkzeug.utils import secure_filename from flask import Flask,render_template,jsonify,request i ...
- Html登录表单阻止自动填充
设置属性 autocomplete="off" 阻止浏览器从cache获取数据填充登录表单. <input type="text" name=" ...
- ios 按钮点击无反应
今天项目遇到有个UIButton无法点击,弄了半天,总结出以下几个结论 1.如果一个UIButton的frame超出父视图的frame,UIButton还是可以显现的,但响应不了点击事件了,当开发中, ...
- PLSQLDeveloper 提示不能初始化?
原因: oracle数据库是64位的,而 PLSQL Developer 只有32位的! 下载PLSQL_Developer地址: http://pan.baidu.com/share/link?sh ...