手机安全卫士开发系列(6)——程序主界面
主界面的布局文件
<?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:background="@color/backgroundcolor"android:orientation="vertical" ><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="40dip"android:background="@drawable/title_background"android:gravity="center_horizontal|center_vertical"android:orientation="vertical" ><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="#FFF8F8F8"android:textSize="22sp"android:text="山寨手机卫士"/></LinearLayout><GridViewandroid:id="@+id/gv_main"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginTop="10dip"android:horizontalSpacing="10dip"android:numColumns="3"android:verticalSpacing="10dip" ></GridView></LinearLayout>
适配器
package cn.itcast.mobilesafe.adapter;import cn.itcast.mobilesafe.R;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;public class MainUIAdapter extends BaseAdapter {private static final String TAG = "MainUIAdapter";private Context context;private LayoutInflater inflater;private static ImageView iv_icon;private static TextView tv_name;private SharedPreferences sp;public MainUIAdapter(Context context) {this.context = context;inflater = LayoutInflater.from(context);sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);}private static String[] names = { "手机防盗", "通讯卫士", "软件管理", "任务管理", "流量管理","手机杀毒", "系统优化", "高级工具", "设置中心" };private static int[] icons = { R.drawable.widget05, R.drawable.widget02,R.drawable.widget01, R.drawable.widget07, R.drawable.widget05,R.drawable.widget04, R.drawable.widget06, R.drawable.widget03,R.drawable.widget08 };public int getCount() {return names.length;}public Object getItem(int position) {return position;}public long getItemId(int position) {// TODO Auto-generated method stubreturn position;}public View getView(int position, View convertView, ViewGroup parent) {// getview的方法被调用了多少次?// 9// gridview 控件bug // won't fix // 使用静态的变量引用 减少内存中申请的引用的个数 Log.i(TAG,"getview "+ position);View view = inflater.inflate(R.layout.mainscreen_item, null);iv_icon = (ImageView) view.findViewById(R.id.iv_main_icon);tv_name = (TextView) view.findViewById(R.id.tv_main_name);iv_icon.setImageResource(icons[position]);tv_name.setText(names[position]);if(position==0){String name = sp.getString("lost_name", null);if(name!=null){tv_name.setText(name);}}return view;}}
mainscreen_item
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="100dip"android:layout_height="100dip"android:gravity="center_horizontal"android:background="@drawable/item_background"android:orientation="vertical" ><ImageViewandroid:id="@+id/iv_main_icon"android:layout_width="60dip"android:layout_height="60dip"android:scaleType="fitXY"android:src="@drawable/ic_launcher" /><TextViewandroid:id="@+id/tv_main_name"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="功能名字"android:textColor="@color/textcolor"android:textSize="18sp" /></LinearLayout>
样式文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle" ><strokeandroid:width="0.5dip"android:color="#ff505050" /><corners android:radius="2dip" ></corners><gradient android:startColor="#ff404040"android:centerColor="#ff383838"android:endColor="#ff404040"/>
</shape>
效果
手机安全卫士开发系列(6)——程序主界面相关推荐
- 手机安全卫士开发系列(2)——splash界面
一.Android中的MVC (1)activity主要用来页面的展示 (2)engine包:获取数据和展示数据(包含数据适配器) (3)domain包:存放数据实体 第一种包结构组织关系: 第二种包 ...
- 开发android项目实战,Android 项目实战:手机安全卫士开发案例解析
Android 项目实战:手机安全卫士开发案例解析 作 者:王家林,王家俊,王家虎 出版时间:2013 丛编项:移动互联应用开发系列 内容简介 本书通过对一款手机安全卫士开发案例的详细解析,讲解了一个 ...
- IOS开发系列--IOS程序开发概览
IOS开发系列--IOS程序开发概览 2014-08-04 19:42 by KenshinCui, 9983 阅读, 51 评论, 收藏, 编辑 概览 终于到了真正接触IOS应用程序的时刻了,之前我 ...
- iOS开发系列--IOS程序开发概览ios基础
iOS开发系列--IOS程序开发概览 概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的I ...
- 手机直播开发,直播程序源码,直播源码分享经验
手机直播开发,直播程序源码,直播系统开发,直播源码 2016-2017年是网络直播元年,发展了酝酿了10来年的网络直播市场终于在这一年开始喷发,手机直播开发更成为炙手可热的市场新宠儿,而如何进行手机直 ...
- 基于Android的小巫新闻客户端开发--UI设计(主界面)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 基于An ...
- WinForm应用实战开发指南 - 如何设计展示应用程序主界面
WinForm应用程序的开发,主窗口的界面设计一般都要求做的更好一些,可以根据不同的系统功能模块进行归类整合,能使客户迅速寻找到相关功能的同时,也能感觉到整体性的美观大方,因此主窗口的界面设计总是会精 ...
- 关于手机安全卫士开发详解
手机安全卫士 1 初始化界面的搭建 1.1 界面UI 界面的ui主要完成的是背景图片的显示,以及版本号的显示,其中版本号是需要动态获取显示的. 主要实现:由于布局的特点选择相对布局,在Relati ...
- Android学习系列(22)--App主界面比较
本文算是一篇漫谈,谈一谈当前几个流行应用的主界面布局,找个经典的布局我们自己也来实现一个. 不是为了追求到底有多难,而是为了明白我们确实需要这么做. 走个题,android的UI差异化市场依然很大, ...
最新文章
- ssm启动报错cannot find class_SSM整合补充 RBAC(权限控制)过滤器
- 检查列表中是否存在值的最快方法
- 【学习笔记】17、函数(Function)的定义和调用
- 【转】三分钟了解Fiori背后的设计理念
- LeetCode 121. 买卖股票的最佳时机(Best Time to Buy and Sell Stock)
- electron打包现成的vue项目成.exe文件,build打包vue项目(quasar 框架)
- 使用Spring Task完成定时任务
- JVM(三)对象的生死判定和算法详解
- 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 中的标识列插入显式值错误的解决方法...
- 移动端点击延迟300ms传说 你听过吗
- 展示面--存储学习总结于2021年
- 基于MaterialDesign设计风格的妹纸app的简单实现
- 【洛谷p1164】小A点菜
- 修改RHEL6的root超级用户密码
- java安卓开发软件及环境配置
- Meltdown Attack
- PS学习之动态表情制作
- android 触摸屏干扰,一种电容触摸屏的抗干扰方法及其控制模块与流程
- mysql 投影运算_数据库查询 - 通俗易懂解释:选择、投影、并、差、笛卡尔积、连接 - 小黑电脑...
- Latex / Katex 编辑基础化学方程式 点这篇绝对有用