1

ExpandableListViewは、親ビューのすべての幅を取ります。アンドロイド。私はそれを次のように宣言します:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" >

<ExpandableListView
    android:id="@+id/exListView"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:childIndicatorLeft="0dp"
    android:divider="@android:color/transparent"
    android:groupIndicator="@drawable/list_view_group_indicator"
    android:smoothScrollbar="true" />

<LinearLayout
    android:layout_width="0dip"
    android:layout_height="match_parent"
    android:background="@android:color/black" >
</LinearLayout>

グループビューは次のように宣言されます。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/transparent" />
</LinearLayout>

子ビューは次のように宣言されます。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

<ImageButton
    android:id="@+id/buttonChild"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_launcher" />

<TextView
    android:id="@+id/child_button_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
</LinearLayout>

ただし、ExpandableListViewは、親ビューのすべての幅を使用します。どういう理由でそれができるのでしょうか?wrap_contentとして宣言されたすべての子ビュー

ありがとう。

4

1 に答える 1

2

ListViewでWRAP_CONTENTを使用しないでください。

何千ものアイテムを含むListViewの測定は、非常に長い操作になる可能性があります。

常にMATCH_PARENTを設定するか、DIPで幅または高さを指定する必要があります。

于 2012-11-22T14:46:42.973 に答える