Android控制項GridView實現菜單介面

來源:互聯網
上載者:User

標籤:

 

 

 

GirdView為九宮格式布局,加入圖片即文字做出菜單

activiyy_main.xml

<?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:background="#000000">        <GridView        android:id="@+id/gridView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:numColumns="3"        android:horizontalSpacing="10dp"        android:verticalSpacing="10dp"        ></GridView></LinearLayout>
android:numColumns               設定一排的列數(參數auto_fit表示自適應)

android:horizontalSpacing="" 設定水平間距
android:verticalSpacing=""       設定垂直間距

九宮格的單個元素


item.xml

<?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"    android:background="#000000"    >        <ImageView         android:id="@+id/image"        android:layout_width="60dp"        android:layout_height="60dp"        android:src="@drawable/ic_launcher"        />       <TextView         android:id="@+id/text"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginTop="5dp"        android:text="文字"        android:textColor="#ffffff"        /></LinearLayout>

每個元素有ImageView控制項和TextView組成,

 android:layout_marginTop=""             設定TextView頂部與ImageView的間距

設定顏色,背景為黑色。

MainActivity.java
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.Window;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.GridView;import android.widget.SimpleAdapter;import android.widget.Toast;public class MainActivity extends ActionBarActivity implements OnItemClickListener{    private GridView gridView;    private List<Map<String, Object>> datalist;    private int[] icon = {            R.drawable.address_book, R.drawable.calendar, R.drawable.camera,            R.drawable.clock, R.drawable.games_control, R.drawable.messenger,            R.drawable.ringtone, R.drawable.settings, R.drawable.speech_balloon,            R.drawable.weather, R.drawable.world, R.drawable.youtube            };    private String[] icon_name = {        "通訊錄", "日曆", "照相機",         "時鐘", "遊戲", "簡訊",         "鈴聲", "設定", "語言",        "天氣", "瀏覽器", "視頻"    };    private SimpleAdapter adapter;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);        setContentView(R.layout.activity_main);                gridView = (GridView) findViewById(R.id.gridView);                datalist = new ArrayList<Map<String,Object>>();        adapter = new SimpleAdapter(this, getData(), R.layout.item,                 new String[]{"image", "text"}, new int[]{R.id.image, R.id.text});                //添加適配器和監聽器        gridView.setAdapter(adapter);        gridView.setOnItemClickListener(this);    }        private List<Map<String, Object>> getData() {        for(int i = 0; i<icon.length; i++){            Map<String, Object> map = new HashMap<String, Object>();            map.put("image", icon[i]);            map.put("text", icon_name[i]);            datalist.add(map);        }        return datalist;    }    //監聽單擊事件    @Override    public void onItemClick(AdapterView<?> parent, View view, int position,            long id) {        //顯示訊息,指定訊息顯示的時間長度        Toast.makeText(this, "我是"+icon_name[position], Toast.LENGTH_SHORT).show();    }    }

圖片資源放入對應drawable檔案夾下

 

GridView對應的適配器使用SimpleAdapter,資料用ArrayList<Map<String,Object>>();

getData()函數對datalist賦值,數組icon和icon_name存放圖片資源和字串資源。

Android控制項GridView實現菜單介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.