样式 主题 显示所有应用 手机卫士

•多个视图属性的集合, 在写布局时, 当多个视图有不少相同的属性时, 可以把这些相同的属性放在一起在styles.xml中定义成一个Style, 而在布局文件中使用@style/style_name统一引用 •作用: •复用视图标签属性 •目标: •针对的是窗口中的某些视图 •系统样式: •Android也定义了些系统样式可以使用 •使用系统样式: @android:style/xxx

    wrap_content    wrap_content    center_vertical    20sp    @android:drawable/star_big_on    10dp#FF0000————————————————————————————————————————————————————主题(theme)•理解: •主题的本质也是style•在styles.xml中定义, 在manifest.xml中引用•作用: •复用视图标签属性•目标: •针对整个应用或某个Activity的界面•系统常用主题:•@android:style/Theme.Light.NoTitleBar : 没有标题 •@android:style/Theme.Light.NoTitleBar.Fullscreen: 全屏•@android:style/Theme.Dialog : 对话框————————————————————————————————————————————————————显示所有应用列表•功能描述:•此功能是手机卫士程序管理模块的一部分•它以列表的形式列出手机中所有应用的信息•点击某一项,提示选择的应用的名称•长按某一项,删除当前行••主要技术:•应用的整体布局与Item的布局•获取手机中所有安装的应用信息集合(已定义)•使用BaseAdapter显示列表信息•ListView的item点击响应scaleType=“fitXY” //图片充满View的宽度minHeight=“70dp” //最小高度package com.example.app03_allapp;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Intent;import android.content.pm.PackageManager;import android.content.pm.ResolveInfo;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;public class MainActivity extends Activity {private ListView Iv_main;//列表控件private Listdata;//数据源 ,数据的集合private AppAdapter adapter;//适配器@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//初始化成员变量Iv_main=(ListView) findViewById(R.id.lv_main);data = getAllAppInfos();adapter = new AppAdapter();//显示列表Iv_main.setAdapter(adapter);}/* * 得到手机中所有应用信息的列表 * AppInfo *  Drawable icon *  String appName *  String packageName */protected ListgetAllAppInfos() {Listlist = new ArrayList();// 得到应用的packgeManagerPackageManager packageManager = getPackageManager();// 创建一个主界面的intentIntent intent = new Intent();intent.setAction(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);// 得到包含应用信息的列表ListResolveInfos = packageManager.queryIntentActivities(intent, 0);// 遍历for (ResolveInfo ri : ResolveInfos) {// 得到包名String packageName = ri.activityInfo.packageName;// 得到图标Drawable icon = ri.loadIcon(packageManager);// 得到应用名称String appName = ri.loadLabel(packageManager).toString();// 封装应用信息对象AppInfo appInfo = new AppInfo(icon, appName, packageName);// 添加到listlist.add(appInfo);}return list;}class AppAdapter extends BaseAdapter{@Overridepublic int getCount() {// TODO Auto-generated method stubreturn data.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn data.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder = null;if(convertView == null){convertView = View.inflate(MainActivity.this, R.layout.item_main,null);holder = new ViewHolder();//2.得到当前行需要更新的子View对象holder.imageView = (ImageView) convertView.findViewById(R.id.iv_item_icon);holder.textView = (TextView) convertView.findViewById(R.id.tv_item_name);convertView.setTag(holder);}else{holder = (ViewHolder) convertView.getTag();}//3.得到当前行的数据对象AppInfo appInof  = data.get(position);//4.给视图对象绑定数据holder.imageView.setImageDrawable(appInof.getIcon());holder.textView.setText(appInof.getAppName());//5.返回convertViewreturn convertView;}class ViewHolder{ImageView imageView;TextView textView;}}}package com.example.app03_allapp;import android.graphics.drawable.Drawable;public class AppInfo {private Drawable icon;//应用图标,图标对象private String appName;//应用名称private String packageName;//包名public AppInfo() {super();}public Drawable getIcon() {return icon;}public void setIcon(Drawable icon) {this.icon = icon;}public String getAppName() {return appName;}public void setAppName(String appName) {this.appName = appName;}public String getPackageName() {return packageName;}public void setPackageName(String packageName) {this.packageName = packageName;}public AppInfo(Drawable icon, String appName, String packageName) {super();this.icon = icon;this.appName = appName;this.packageName = packageName;}}    ?xml version="1.0" encoding="utf-8"?————————————————————————————————————————————————————手机卫士主界面•功能描述:•此功能是手机卫士主界面功能的一部分•以3*3网格的形式显示功能模块列表•点击某一项, 提示选择的功能模块的名称••主要技术:•应用的整体布局与Item的布局•利用BaseAdapter在GridView中网格列表信息•GridView的item点击响应numColums=“3” //列数verticalSpacing=“10dp” //item之间在垂直方向的间距package com.example.app04_gridview;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.GridView;public class MainActivity extends Activity {private GridView gv_main;private MainAdapter adapter;String [] names=new String[]{"手机防盗","通讯卫士","软件管理","流量管理","进程管理","手机杀毒","22","33","44"};int [] icons=new int[]{R.drawable.widget01,R.drawable.widget02,R.drawable.widget03,R.drawable.widget04,R.drawable.widget05,R.drawable.widget06,R.drawable.widget07,R.drawable.widget08,R.drawable.widget09};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gv_main=(GridView) findViewById(R.id.gv_main);adapter=new MainAdapter(MainActivity.this,names,icons);gv_main.setAdapter(adapter);}}package com.example.app04_gridview;import android.content.Context;import android.graphics.drawable.Drawable;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;public class MainAdapter extends BaseAdapter{private String[] names;private int[] icons;private  Context context; public MainAdapter(Context context,String[] names,int[] icons) {  this.context=context; this.names=names; this.icons=icons; }@Overridepublic int getCount() {return names.length;}@Overridepublic Object getItem(int position) {return names[position];}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolser holder=null;if (convertView==null) {convertView=View.inflate(context, R.layout.item_main, null);holder=new ViewHolser();holder.imageView = (ImageView) convertView.findViewById(R.id.iv_id1);holder.textView = (TextView) convertView.findViewById(R.id.tv_id1);convertView.setTag(holder);  }else{holder = (ViewHolser) convertView.getTag();}holder.imageView.setImageResource(icons[position]);holder.textView.setText(names[position]);return convertView;}  class ViewHolser{  ImageView imageView;  TextView textView;  }}?xml version="1.0" encoding="utf-8"??xml version="1.0" encoding="utf-8"? 


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 210,978评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,954评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,623评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,324评论 1 282
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,390评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,741评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,892评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,655评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,104评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,569评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,254评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,834评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,725评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,950评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,260评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,446评论 2 348

推荐阅读更多精彩内容