[android] 天气app布局练习(二)详解手机开发

主要练习一下GridView

[android] 天气app布局练习(二)详解手机开发

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>

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/app/5379.html

(0)
上一篇 2021年7月16日 23:46
下一篇 2021年7月16日 23:46

相关推荐

发表回复

登录后才能评论