[mobilesafe] 07_主界面HomeActivity布局

Android 4.0

主界面HomeActivity布局 

1、 HomeActivity.java
package cn.zengfansheng.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;

/**
 * 2、主界面Activity
 */

public class HomeActivity extends Activity {

    private GridView gv_home;// 主界面的GridView

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);

        gv_home = (GridView) this.findViewById(R.id.gv_home_main);
        gv_home.setAdapter(new MyGridAdapter());
    }

    /**
     * 1、主界面GridView的适配器类
     * 
     * @author hacket
     */

    private class MyGridAdapter extends BaseAdapter {

        private String[] names = { "手机防盗", "通讯卫士", "软件管理", "进程管理", "流量统计",
                "手机杀毒", "系统优化", "高级工具", "程序设置" };
        private int[] icons = { R.drawable.safe_theft, R.drawable.callmsg_guard,
                R.drawable.app_manager, R.drawable.task_manager,R.drawable.net_manager, 
                R.drawable.phone_antivirus,R.drawable.system_optimize,
                R.drawable.advance_tools, R.drawable.app_settings };

        @Override
        public int getCount() {
            return names.length;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
           
            //1、inflate一个view布局
            View view = View.inflate(getApplicationContext(), R.layout.grid_home_item, null);

            // 2、找到该布局里面的空间imageview和textview
            ImageView iv_icon = (ImageView) view.findViewById(R.id.iv_icon_item);
            TextView tv_name = (TextView) view.findViewById(R.id.tv_name_item);

            // 3、填充iamge和text
            iv_icon.setImageResource(icons[position]);
            tv_name.setText(names[position]);

            return view;
        }

        @Override
        public Object getItem(int position) {
            return null;
        }

        @Override
        public long getItemId(int position) {
            return 0;
        }
    }
}
2、布局
<?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="50dp"
        android:background="#ff1100"
        android:gravity="center"
        android:text="@string/activity_home"
        android:textColor="#00ff00"
        android:textSize="20sp" />
    <cn.zengfansheng.mobilesafe.ui.FocusedTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:text="@string/home_title" />
    <GridView
        android:verticalSpacing="20dip"
        android:id="@+id/gv_home_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="3" >
    </GridView>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    tools:ignore="UseCompoundDrawables" >
    <ImageView
        android:id="@+id/iv_icon_item"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/app_icon"
        android:src="@drawable/app_manager" />
    <TextView
        android:textColor="#000000"
        android:id="@+id/tv_name_item"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>