這是一個我個人認為稍微進階的列表,因為它多了包覆一層的效果,不過這也是個常出現的元件,雖然稍微複雜了一點,不過整體還是很好理解的,不過它的篇幅有點長我將分成兩篇來介紹,今天先來介紹它介面的配置還有資料的設定。
<LinearLayout 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"
tools:context=".MainActivity">
<ExpandableListView
android:id="@+id/ep1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:childDivider="#2196F3"/>
</LinearLayout>
接著可以再res/layout的資料夾中分別新增兩個新的layout,一個負責組的部分,另一個負責子類別的部分。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/title_name"
android:layout_width="match_parent"
android:layout_height="30dp"
android:gravity="center_vertical"
android:paddingLeft="30dp"
android:text="TextView"
android:textStyle="bold"
android:textSize="20sp" />
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/content_name"
android:layout_width="match_parent"
android:layout_height="30dp"
android:gravity="center_vertical|center"
android:text="TextView"
android:textSize="20sp" />
</LinearLayout>
在同MainActivity.java的資料夾中新增兩個java檔來負責設定組和子類別的資料,簡單設計如下。
public class Group {
private String name;
public Group() {
}
public Group (String name){
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Content {
private String name;
public Content() {
}
public Content (String name){
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}