------- 源自梦想永远是你IT事业的好友、只是勇敢地说出我学到! ----------

按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点也都能说出了123来,但是这些孤立的点终究显得太零散了,因此,我想从今天开始,以最经典的手机安全卫士项目为例,自己锻炼一下,也是想和大家交流交流,希望大家都能给出见解,共同进步。

八、界面细节

处理一些界面上的小细节。

1.如果在对话框出现后,用户点击后退,就会停留在splash界面。我们需要处理成点击后退,就进入主界面。

这就需要我们在取消对话框的时候,给一个监听器,正好也有这样的一个api,OnCancleListener。代码放在对话框show()之前。

		具体代码:
/*
* 当取消对话框的时候,直接进入主界面
*/
builder.setOnCancelListener(new OnCancelListener(){ @Override
public void onCancel(DialogInterface dialog) {
loadMainUI();
}
});

2.用户在下载完成新版本后,会出现一个是否安装新应用的对话框,如果这时候用户又不想安装了,点击取消,又会出现卡在splash界面上的情况。

这时候我们就需要得到下载成功后开始安装的返回值,可以用startActivityForResult(intent,0)

(快捷键:Alt+/
快速获取api)

将apkInstall(File t)方法中的startActivity(intent)改为startActivityForResult(intent,0),然后写onActivityResult方法。

具体代码:

			@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
loadMainUI();
super.onActivityResult(requestCode, resultCode, data);
}

3.更新提醒的对话框,黑底色显得很难看,我们想把它变得美观些。怎么处理呢?

之所以会显示这样的样式,是因为我们在当前activity主题样式是旧版本的:android:theme="@android:style/Theme.Black.NoTitleBar"

这时候我们只需把这一行代码删除掉,就可以使得对话框变得美观。但是这时候,标题栏又出现了,我们可以使用代码,将标题栏去掉。

然后在onCreate下增加代码:

requestWindowFeature(Window.FEATURE_NO_TITLE);

这样就可以了。

注意:这一句必须放到setContentView前面,否则会出错。

------- 源自梦想永远是你IT事业的好友、只是勇敢地说出我学到! ----------

Android小项目之八 界面细节的更多相关文章

  1. Android小项目之十二 设置中心的界面

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  2. Android小项目之十一 应用程序的主界面

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  3. Android小项目之三 splash界面

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  4. Android小项目之十 应用程序更新的签名问题

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  5. Android小项目之五 splash动画效果

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  6. Android小项目练习之一 项目简介

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  7. Android小项目之四 自动更新检查的逻辑

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  8. Android小项目之二 代码的组织结构

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  9. 【Android小项目】找不同,改编自"寻找房祖名"的一款开源小应用。

    近期在微信朋友圈"寻找房祖名"和"万里寻刀"这类小游戏比較火.我试着写了一个android版本号的,里面全是一系列的形近字,实现原理非常easy:用一个Grid ...

随机推荐

  1. OSPF虚链路配置.示例2

    先看一个拓扑图 黄色区域是area0,即骨干区域,如果如图示RT1与RT6之间的链路断了,那么会出现骨干区域被“分裂”的情况,很明显骨干区域是不能被分割开的,出现这种状况的时候可能会影响到整个自制系统 ...

  2. 原生JS修改标签样式为带阴影效果

    代码如下: JS部分 //点击时候,改变样式 function GetCategoryInfo(value) { var getInfo = value.toString().split(','); ...

  3. HeapAlloc、GlobalAlloc和new等内存分配有什么区别么?

    查找了一些 new , GlobalAlloc, HeapAlloc分配内存方式的区别. 转了一些资料 //============================================== ...

  4. PowerDesigner反向生成Mysql数据原型

    PowerDesigner反向生成Mysql数据原型 注意事项: (1)JVM 要32位的. (2)需配置JAVA_HOME环境变量指向所需JVM. (3)需配置CLASSPATH环境变量执行 MyS ...

  5. Linq使用Group By经验总结

    1.计数 var q = from p in db.Products group p by p.CategoryID into g select new { g.Key, NumProducts = ...

  6. git filename to long问题解决

    在.git/config 下面编辑 [core] longpaths = true

  7. 深入Delphi -- Windows 消息机制

    http://www.txsz.net/xs/delphi/3/Windows%20%E6%B6%88%E6%81%AF%E6%9C%BA%E5%88%B6.htm Windows 消息机制 by m ...

  8. JQUERY插件JqueryAjaxFileUplaoder----更简单的异步文件上传

    异步上传相信大家都做过类似的功能,JqueryAjaxFileUploader为我们提供了更简单的实现和使用方式.不过既然是JQUERY的插件那么它所依赖的环境大家都懂得.JqueryAjaxFile ...

  9. UML精粹学习 - 订单类结构图

    Order Class Diagram of Martin Fowler's UML Distilled

  10. Xcode常见的编译、运行等错误的解决

    Xcode常见的编译.运行等错误的解决 项目没找到Info.plist的错误 The solution for this particular instance of the error was “I ...