[android] 手机卫士欢迎细节和主界面
Posted 陶士涵的菜地
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[android] 手机卫士欢迎细节和主界面相关的知识,希望对你有一定的参考价值。
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] 手机卫士欢迎细节和主界面的主要内容,如果未能解决你的问题,请参考以下文章