天天看點

Android開發之UI設計的listview(一)1、listview介紹2、listview使用3、實作效果

文章目錄

  • 1、listview介紹
  • 2、listview使用
    • 2.1、xml設計
    • 2.2、Java設計
  • 3、實作效果

1、listview介紹

Android的listView控件非常靈和,可以自定義每一個清單項,實際上每個清單項就是一個View。

一般來說,手機的螢幕有限,顯示的内容卻要求無限,這就必須借助listview。

ListView允許使用者通過上下滑動來将螢幕外的資料滾動到螢幕内,同時螢幕内原有的資料滾動出螢幕,進而顯示更多的資料内容。

…(具體的介紹,請找相關資料)

2、listview使用

2.1、xml設計

簡單設計了一個listview界面,xml檔案:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Main4Activity">

    <TextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="55dp"
        android:text="清單測試1:文字測試!"
        android:textSize="20dp"/>

    <ListView
        android:id="@+id/lv_41"
        android:layout_width="match_parent"
        android:layout_height="489dp"
        android:layout_marginTop="8dp"
        android:dividerHeight="0.5dip"
        app:layout_constraintTop_toBottomOf="@+id/textView2">

    </ListView>
</android.support.constraint.ConstraintLayout>
           

界面:

Android開發之UI設計的listview(一)1、listview介紹2、listview使用3、實作效果

在建立一個test.xml,就是我們想要實作的Item效果:

<?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="wrap_content">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:orientation="vertical"
        >

        <TextView
            android:id="@+id/tv_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1.線路及區間名稱:" />

        <EditText
            android:id="@+id/et_test"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </LinearLayout>
</RelativeLayout>
           

界面:

Android開發之UI設計的listview(一)1、listview介紹2、listview使用3、實作效果

2.2、Java設計

關鍵部分的代碼:

lv_41=(ListView)findViewById(R.id.lv_41);
List<Map<String,Object>>stuMaps=new ArrayList<Map<String, Object>>();
String[] names={"1.線路及區間名稱:","2.橋位樁号:","3.橋梁名稱:","4.下穿通道名:","5.橋長:","6.主跨結構:","7.最大跨徑:","8.建成年月:","9.上次檢查日期:","10.本次檢查日期:","11.氣候:"};
for(int i=0;i<names.length;i++){
    Map<String,Object> m=new HashMap<String, Object>();
    m.put("name",names[i]);
    stuMaps.add(m);

}
String[] key={"name","major"};
int[] value={R.id.tv_name,R.id.et_test};
SimpleAdapter simpleAdapter=new SimpleAdapter(this,stuMaps,R.layout.test,key,value);
lv_41.setAdapter(simpleAdapter);
           

3、實作效果

Android開發之UI設計的listview(一)1、listview介紹2、listview使用3、實作效果
Android開發之UI設計的listview(一)1、listview介紹2、listview使用3、實作效果