[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/5379.html

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

相关推荐

发表回复

登录后才能评论