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; } } }到這裏即完成了功能界面圖標展現功能後面將給出跑馬燈效果的消息展現橫幅的實現過程