代碼如下
package com.example.admin.grid;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends Activity implements AdapterView.OnItemClickListener{
private SimpleAdapter simpleAdapter;
private List<Map<String,Object>> datalist;
private int[] icon={R.drawable.folder_256px,R.drawable.gear_256px,R.drawable.global_256px,R.drawable.hazard_256px,
R.drawable.layers_256px,R.drawable.lightbulb_256px,R.drawable.lock_256px,R.drawable.mail_256px,
R.drawable.meter_256px,R.drawable.phone_256px,R.drawable.paint_256px,R.drawable.scissors_256px};
private String[] iconName={"folder","gear","goball","hazard","layers","lightbulbb","lock","mail","meter","phone",
"paint","scissor"};
private GridView gridView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gridView= (GridView) findViewById(R.id.gridView);
datalist=new ArrayList<Map<String,Object>>();
simpleAdapter=new SimpleAdapter(this,getdata(),R.layout.item,new String[]{"image","text"}, new int[]{R.id.imageView,R.id.textView});
gridView.setAdapter(simpleAdapter);
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",iconName[i]);
datalist.add(map);
}
return datalist;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(this,"我是"+iconName[position],Toast.LENGTH_SHORT).show();
}
}
兩個layout
<?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">
<GridView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/gridView"
android:numColumns="3"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp" />
</LinearLayout>
<?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"
android:gravity="center">
<ImageView
android:layout_width="60dp"
android:layout_height="60dp"
android:id="@+id/imageView" />
<TextView
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:textColor="#ffffff"
android:id="@+id/textView" />
</LinearLayout>
結果如下
當然其中有一個讓我浪費了很多時間的小問題 當我用AndroidStudio自建一個empty工程的時候 我更換主題 到android:theme="@android:style/Theme.Black.NoTitleBar"時候發現報錯了
最後的原因很簡單 MainActivity裏面繼承的並不是Activity 手動更改就好了
蛋疼