浮层引导页Activity
2016-05-13 10:58
316 查看
第一步:创建一个ProgressActivty
第二步:创建一个自定义的style风格
在values文件夹下的styles文件中创建一个新的style节点<style name="MyDialog"> <item name="android:windowBackground">@color/transparent_background</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> <item name="android:backgroundDimEnabled">true</item> </style>
其中
<item name="android:windowBackground">@color/transparent_background</item> <item name="android:windowIsTranslucent">true</item>
这两个节点需要结合使用,设置窗口可以透明
这里需要创建一个自定义color属性,如果用transparent则是完全透明的,我们创建一个color设置为半透明的
在vaules文件加下创建color.xml文件
<resources> <color name="transparent_background">#50000000</color> </resources>
第三步:在配置文件中修改这个Activity的Style
调用自定义的style风格,这个activity就会半透明显示到另外一个activity上<activity android:name="com.example.day01_test.ProgressActivity" android:theme="@style/MyDialog" > </activity>
第四步:在ProgressActivty编写逻辑
可以根据控件finish这个Activity,或者跳转到另外的Activity,同时要finish;如果是进度条类型的话,需要在别的Activity中关闭这个Activity,需要在ProgressActivty中定义一个静态变量,然后用handler进行监视,也可以使用广播,和监听器.
public class ProgressActivity extends Activity { //定义一个公共静态变量 public static int flag=0; private Timer timer; private Handler handler=new Handler(){ public void handleMessage(android.os.Message msg) { //如果在别的类中修改为1的话,就关闭这个activity,同时要设置为flag为0,关闭消息,取消timer if(msg.what==1){ flag=0; handler.removeCallbacksAndMessages(null); timer.cancel(); finish(); } }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_progress); //不断的进行监听,如果flag被修改为1的话,说明别的activity要关闭当前的弹窗,就发送一个消息关闭弹窗 timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { if(flag==1){ handler.sendEmptyMessage(1); } } }, 0, 100); } @Override public void onBackPressed() { } }
相关文章推荐
- C#:WPF绘制问题
- Android values-sw400dp 屏幕适配
- Java 类中各成分加载顺序 和 内存中的存放位置
- 浅谈关于递归的一些感悟
- wordpress 访问 gravatar 以及 google map api 慢的解决办法
- Android视图绘制流程完全解析,带你一步步深入了解View(二)
- web.xml的加载顺序 listener -> filter -> servlet
- Java二叉树(三)--非递归的中序_先序_后序遍历二叉树
- yii2发送邮件简单教程
- Linux中redis主从配置
- 【转】知道这20个正则表达式,能让你少写1,000行代码
- 数据上下文【 DnContext】【EF基础系列7】
- 使用gif分帧工具分解gif动画
- 开篇&TexturePacker打出图集给UGUI使用
- Android LayoutInflater原理分析,带你一步步深入了解View(一)
- 332. Reconstruct Itinerary(C++实现)
- oracle问题 plsql连接不上远程数据库
- C++程序设计语言练习5.2 内存对齐
- Oracle取消用户连续登录失败次数限制
- Android安全攻防战,反编译与混淆技术完全解析(上)