zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

[android] 手机卫士欢迎细节和主界面详解手机开发

Android手机开发 详解 界面 细节 欢迎 卫士
2023-06-13 09:20:13 时间

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 

 

5438.html

app程序应用开发手机开发无线开发移动端开发