主要练习一下GridView
MainActivity.java
package com.example.weatherreport;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
private GridView gv_airs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gv_airs=(GridView) findViewById(R.id.gv_airs);
makeGridView();
}
/**
* 组装GridView
*/
private void makeGridView() {
List<Map<String, String>> data=new ArrayList<>();
Map<String,String> item=null;
item=new HashMap<>();
item.put("title", "83");
item.put("desc", "湿度(%)");
data.add(item);
item=new HashMap<>();
item.put("title", "11.3");
item.put("desc", "可见度(km)");
data.add(item);
item=new HashMap<>();
item.put("title", "2级");
item.put("desc", "东南风");
data.add(item);
item=new HashMap<>();
item.put("title", "最弱");
item.put("desc", "紫外线");
data.add(item);
item=new HashMap<>();
item.put("title", "1005.5");
item.put("desc", "气压(mb)");
data.add(item);
item=new HashMap<>();
item.put("title", "22.4");
item.put("desc", "体感");
data.add(item);
SimpleAdapter adapter=new SimpleAdapter(this, data, R.layout.main_grid_item, new String[]{"title","desc"}, new int[]{R.id.tv_title,R.id.tv_desc});
gv_airs.setAdapter(adapter);
}
}
activity_main.xml
<RelativeLayout 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:background="#3186D9"
tools:context="${relativePackage}.${activityClass}" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:src="@drawable/icon_home" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="12dp"
android:text="北京"
android:textColor="#FDFDFD" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:src="@drawable/icon_more" />
<TextView
android:id="@+id/tv_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="70dp"
android:text="29"
android:textColor="#fff"
android:textSize="50sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/tv_number"
android:layout_toRightOf="@id/tv_number"
android:text="°"
android:textColor="#FDFDFD"
android:textSize="30sp" />
<LinearLayout
android:id="@+id/ll_weather"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv_number"
android:layout_centerHorizontal="true"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="多云"
android:textColor="#FDFDFD" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text=" | "
android:textColor="#bbb" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="空气优"
android:textColor="#FDFDFD" />
</LinearLayout>
<View
android:id="@+id/gv_airs_top"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/ll_weather"
android:layout_marginTop="20dp"
android:background="#ddd" />
<GridView
android:id="@+id/gv_airs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/gv_airs_top"
android:background="#ddd"
android:horizontalSpacing="1dp"
android:listSelector="@android:color/transparent"
android:numColumns="3"
android:verticalSpacing="1dp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/gv_airs"
android:background="#ddd" />
</RelativeLayout>
main_grid_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#3186D9"
android:layout_marginLeft="1dp" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="25dp"
android:paddingBottom="25dp"
android:layout_centerInParent="true"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="湿度(%)"
android:textColor="#ddd"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="83"
android:textColor="#fff"
android:textSize="22sp" />
</LinearLayout>
</RelativeLayout>