仔仔手機安全衛士demo(三)

 android

因爲前兩天忙於學校的實習,就斷了兩三天沒有學習android,今天實習結束,又能夠繼續了。數組

下面我將給出進入主頁面的entryHome函數的實現以及使用gridView佈局功能界面緩存

entryHome函數實現安全

/**
 * 進入主頁面
 */
private void enterHome() {
    Intent intent = new Intent(this, HomeActivity.class);
    this.startActivity(intent);
    /*關閉當前頁面*/
    finish();

}
主界面預覽圖

這裏先給出主界面功能圖標的實現過程,展現最新信息的跑馬燈我將獨立出一篇單獨給出(使用自定義),但願對跟我同樣剛入門android的同窗有所幫助

提早給出一些GridView 的屬性功能介紹app

屬性名稱ide

描述函數

android:columnWidth 工具

設置列的寬度。佈局

android:gravity 學習

設置此組件中的內容在組件中的位置。可選的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical能夠多選,用「|」分開。

android:horizontalSpacing

兩列之間的間距。

android:numColumns

設置列數。

android:stretchMode

縮放模式。

android:verticalSpacing

兩行之間的間距。

功能界面佈局文件

<?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"
    android:theme="@style/AppTheme.NoActionBar">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="55dip"
        android:background="@android:color/holo_green_dark"
        android:gravity="center"
        android:text="功能列表"
        android:textColor="@android:color/black"
        android:textSize="22sp" />
//此處爲實現跑馬燈效果的消息展現,後面將獨立講解

    <com.zaizai.safty.ui.FocusedTextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ellipsize="marquee"
        android:focusableInTouchMode="true"
        android:singleLine="true"
        android:text="最新的仔仔手機安全衛士,快來下載啊,下載送好吃的。最新的仔仔手機安全衛士,快來下載啊,下載送好吃的。最新的仔仔手機安全衛士,快來下載啊,下載送好吃的。"
        android:textSize="18sp" />
 
//GridView展現的單個Itme將使用自定義的樣式進行展現

    <GridView
        android:id="@+id/gv_list_home"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numColumns="3"
        android:verticalSpacing="10dip" />

</LinearLayout>
 
//GridView 中的Itme樣式佈局文件以下
 
<?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"

    android:gravity="center">

mipmap-hdpi/app.png
    <ImageView
        android:id="@+id/iv_item"
        android:layout_width="60dip"
        android:layout_height="60dip"
        android:src="@drawable/app"
       />

    <TextView
        android:id="@+id/tv_item"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="手機防盜"
        android:textSize="16sp" />
</LinearLayout>
 
即上面用一個ImageView展現功能的圖標,這裏的src只是爲了閱覽調試佈局配置,實際運行將動態加載,下面爲一個TextView展現功能名稱
 
下面我將貼出整個功能界面的Activity而後在代碼中使用註釋進行分步講解
 
package com.zaizai.safty;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;

/**
 * Created by zaizai on 2015/10/12.
 */
public class HomeActivity extends Activity {


    private GridView gv_list_home;
    private MyAdapter myAdapter;
 
//分別定義出9個功能的名稱

    private static String[] names = {
            "手機防盜", "通信衛士", "軟件管理",
            "進程管理", "流量統計", "手機殺毒", "緩存清理", "高級工具", "設置中心"
    };
 
//因爲我使用的是android studio 因此我將9個功能的圖標的圖片文件放入mipmap-mdp中
 
//仍然時定義一個數組,數組存儲的是圖片的引用整型變量,整型變量所引用的值纔是圖片的路徑

    private static int[] ids = {R.mipmap.safe, R.mipmap.callmsgsafe, R.mipmap.app, R.mipmap.taskmanager
            , R.mipmap.netmanager, R.mipmap.trojan, R.mipmap.sysoptimize, R.mipmap.atools, R.mipmap.settings
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
      //加載佈局文件
        this.setContentView(R.layout.activity_home);
 
     //獲得GirdView
        gv_list_home = (GridView) this.findViewById(R.id.gv_list_home);
 
    //建立一個數據適配器,在後面定義
        myAdapter = new MyAdapter();
 
   //給GirdView 設置數據適配器
        gv_list_home.setAdapter(myAdapter);
        /*設置主頁面功能圖標的的點擊事件*/
        gv_list_home.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                switch (position) {
                    //根據position便可知道點擊了第幾個功能圖標
                }
            }
        });

    }

    private class MyAdapter extends BaseAdapter {

        @Override
        public int getCount() {

            return names.length;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
 
           //將GridView 的Itme項的佈局文件加載到功能頁面視圖中

            View view = View.inflate(HomeActivity.this, R.layout.list_item_home, null);
 
          //獲得顯示功能圖標的imageView
            ImageView iv_item = (ImageView) view.findViewById(R.id.iv_item);
 
         //獲得顯示功能名稱的TextView
            TextView tv_item = (TextView) view.findViewById(R.id.tv_item);
 
          //position表明第幾個功能項,從0開始,咱們將對應的存儲功能名稱的數組賦值給它便可
            tv_item.setText(names[position]);
 
          //與上面相同
            iv_item.setImageResource(ids[position]);
            return view;
        }

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

        @Override
        public long getItemId(int position) {
            return 0;
        }


    }

}
 
到這裏即完成了功能界面圖標展現功能
 
後面將給出跑馬燈效果的消息展現橫幅的實現過程
相關文章
相關標籤/搜索