splash界面的细节

ctrl + O 搜索

在去标题的时候,对话框主题被去掉了,有点丑,现在既要有新版本的对话框又不显示标题

把清单文件中activity节点的主题去掉

进入到application节点的样式设置文件里面,添加一句

<item name="android:windowNoTitle">true</item>

设置点返回和空白地方对话框不消失

调用AlertDialog.Builer对象的setCancelable(false),强制升级的时候

或者设置取消监听器

两种上下文的区别

当显示对话框的时候,如果使用getApplicationContext()来得到上下文,此时报错

BadTokenException

对话框是Activity的一部分

对话框是挂载在Activity上的,Activity是Context的子类

父亲类有的子类一定有

子类有的父类不一定有

XxxActivity.this生命周期短一点,和activity一致,用的多一点

getApplicationContext()生命周期长一点,和应用一致

应用程序的主界面

九宫格的布局,使用<GridView/>布局

GridView和ListView是两兄弟,设置三列 , android:numColumns=”3”

设置内部条目垂直的距离,android.verticalSpacing=”10dp”

获取GridView对象

调用GridView对象的setAdapter(adapter)对象,参数:Adapter对象

Adapter是接口,使用内部类继承BaseAdapter类来定义

定义文字数据,静态String[] names数组,{“手机防盗”,”通讯卫士”}

定义图片数据,静态 int[] icons数组,{R.drawable.xxx,xxxxxxx}

创建一个内部类MyAdapter继承BaseAdapter

重写getCount(),方法,return names的长度length属性

重写getView()方法,

定义一个布局文件,列表中的每一项,上面是图片,下面是文字

调用View.inflate(),参数:上下文,资源,null

调用View对象的findViewById()方法,找到内部的控件,设置文字和图片

调用ImageView对象的setImageResource(),参数:icons[position]

代码:

package com.qingguow.mobilesafe;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView; public class HomeActivity extends Activity {
private GridView gv_home_list;
private MyAdapter mAdapter;
private static String[] names={
"手机防盗","通讯卫士","软件管家",
"进程管理","流量统计","手机杀毒",
"缓存清理","高级工具","设置中心"
};
private static int[] icons={
R.drawable.safe,R.drawable.callmsgsafe,R.drawable.app,
R.drawable.taskmanager,R.drawable.netmanager,R.drawable.trojan,
R.drawable.sysoptimize,R.drawable.atools,R.drawable.settings
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
gv_home_list=(GridView) findViewById(R.id.gv_home_list);
mAdapter=new MyAdapter();
gv_home_list.setAdapter(mAdapter);
}
private class MyAdapter extends BaseAdapter{ @Override
public int getCount() {
// TODO Auto-generated method stub
return names.length;
} @Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
} @Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
} @Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
View view=View.inflate(HomeActivity.this, R.layout.list_home_item, null);
TextView tv=(TextView) view.findViewById(R.id.tv_listhome_name);
tv.setText(names[arg0]);
ImageView iv=(ImageView) view.findViewById(R.id.iv_listhome_icon);
iv.setImageResource(icons[arg0]);
return view;
}}
}

activity_home.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <TextView
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="#ccc"
android:gravity="center"
android:text="功能列表"
android:textSize="20sp" /> <GridView
android:layout_marginTop="10dp"
android:verticalSpacing="10dp"
android:id="@+id/gv_home_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="3" /> </LinearLayout>

list_hone_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/iv_listhome_icon"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/safe"/>
<TextView
android:id="@+id/tv_listhome_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="手机防盗"/> </LinearLayout>

[android] 手机卫士欢迎细节和主界面的更多相关文章

  1. Android 手机卫士--设置界面&功能列表界面跳转逻辑处理

    在<Android 手机卫士--md5加密过程>中已经实现了加密类,这里接着实现手机防盗功能 本文地址:http://www.cnblogs.com/wuyudong/p/5941959. ...

  2. Android 手机卫士--确认密码对话框编写

    本文接着实现“确认密码”功能,也即是用户以前设置过密码,现在只需要输入确认密码 本文地址:http://www.cnblogs.com/wuyudong/p/5940718.html,转载请注明出处. ...

  3. Android 手机卫士--弹出对话框

    在<Android 手机卫士--解析json与消息机制发送不同类型消息>一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下: private ...

  4. Android 手机卫士--参照文档编写选择器

    本文来实现<Android 手机卫士--导航界面1的布局编写>中的图片选择器部分的代码. 本文地址:http://www.cnblogs.com/wuyudong/p/5944356.ht ...

  5. Android 手机卫士--签名文件说明&包名说明

    在<Android 手机卫士--打包生成apk维护到服务器>一文中,实现了新版本的apk到服务器,当打开客户端apk的时候,发现有新版本,提示更新.还实现了利用xutils工具实现了从服务 ...

  6. android手机卫士、3D指南针、动画精选、仿bilibli客户端、身份证银行卡识别等源码

    Android精选源码 android身份证.银行卡号扫描源码 android仿bilibili客户端 android一款3D 指南针 源码 android手机卫士app源码 android提醒应用, ...

  7. 【Android】第18章 位置服务和手机定位—本章示例主界面

    分类:C#.Android.VS2015: 创建日期:2016-03-04 一.简介 目前,基于位置的服务发展迅速,已涉及到商务.医疗.定位.追踪.敏感区域警告.工作和生活等各个方面.定位服务融合了G ...

  8. Android 手机卫士--阶段小结1

    本文地址:http://www.cnblogs.com/wuyudong/p/5904528.html,转载请注明源地址. 本文对之前手机卫士开发进行一个小结. 1.SplashActivity 版本 ...

  9. Android 手机卫士--安装过程中点击回退按钮

    本文地址:http://www.cnblogs.com/wuyudong/p/5903707.html,转载请注明源地址. 在手机卫士之前的版本升级的对话框中: 有的用户暂时不想更新,没有点击“稍后再 ...

随机推荐

  1. collection管理程序中不同类别的资源

    在一个计算图中,可以通过collection管理不同类别的资源,如通过tf.add_to_collection函数可以将资源加入一个或多个集合中,然后通过tf.get_collection获取一个集合 ...

  2. shell脚本学习-变量

    跟着RUNOOB网站的教程学习的笔记 shell变量 shell变量的命名 定义变量时,变量名不加美元符号($,PHP语言中需要),如: name="runoob" 注意,变量名与 ...

  3. 转 Master-Worker模式 并行程序设计模式--Master-Worker模式

    简介 Master-Worker模式是常用的并行设计模式.它的核心思想是,系统有两个进程协议工作:Master进程和Worker进程.Master进程负责接收和分配任务,Worker进程负责处理子任务 ...

  4. A - 饭卡

    电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够).所以大家 ...

  5. 数据库路由中间件MyCat - 源代码篇(7)

    此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 3. 连接模块 3.4 FrontendConnection前端连接 构造方法: public Fronte ...

  6. 583. Delete Operation for Two Strings

    Given two words word1 and word2, find the minimum number of steps required to make word1 and word2 t ...

  7. Linux - 查看和更改系统字符集

    查看当前系统字符集 $ echo $LANG en_US.UTF-8 $ $ env |grep LANG LANG=en_US.UTF-8 $ $ locale |grep CTYPE LC_CTY ...

  8. 2D转换与3D转换的区别

    2D与3D的区别——2D 转换元素能够改变元素 x 和 y 轴.3D 转换元素还能改变其 Z 轴.

  9. php省市联动实现

    设计模式:ajax实现,数据库格式:id,name,parent_id 数据库: CREATE TABLE IF NOT EXISTS `city` ( `id` ) NOT NULL AUTO_IN ...

  10. Liferay7 BPM门户开发之3: Activiti开发环境搭建

    下载地址: http://activiti.org/download.html 源码: https://github.com/Activiti/Activiti 环境准备(检查项): JDK 1.7 ...