我有一个复杂的xml文件,我真的需要一个ScrollView。请不要介意Ids,因为我已经更改了。这里的ScrollView不工作。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/f_summary_LL">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/black">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/BT1"
android:textColor="@color/white"
android:textStyle="bold"
android:gravity="center_vertical|left"
android:paddingLeft="2dp"
android:textSize="13sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/BTS1"
android:textColor="@color/white"
android:paddingLeft="4dp"
android:textSize="13sp"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical|right"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView7"
android:textSize="13sp"
android:textColor="@color/white"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/BT1CRR" android:textColor="@color/white"
android:paddingRight="8dp" android:textSize="13sp"
android:paddingLeft="2dp"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView" android:textColor="@color/white"
android:layout_weight="3" android:gravity="center"
android:background="@drawable/table_header_cell_first"
android:textStyle="bold"
android:textSize="13sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="R"
android:id="@+id/textView1" android:textColor="@color/white"
android:gravity="center" android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold" android:layout_weight="1"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="B"
android:id="@+id/textView2" android:textColor="@color/white"
android:gravity="center" android:background="@drawable/table_header_cell"
android:textStyle="bold" android:textSize="13sp"
android:layout_weight="1"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="4s"
android:id="@+id/textView3" android:textColor="@color/white"
android:gravity="center" android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"
android:layout_weight="1"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="6s"
android:id="@+id/textView4" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center" android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="SR"
android:id="@+id/textView5" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center" android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/listView1"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/black"
android:baselineAligned="false">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_weight="1"
android:baselineAligned="false">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/BT2" android:textStyle="bold"
android:textColor="@color/white"
android:gravity="center_vertical|left" android:paddingLeft="2dp"
android:textSize="13sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/BTS2" android:textSize="13sp"
android:textColor="@color/white"
android:paddingLeft="4dp"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textViewBH" android:textColor="@color/white"
android:layout_weight="3" android:gravity="center"
android:background="@drawable/table_header_cell_first"
android:textSize="13sp"
android:textStyle="bold"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="O"
android:id="@+id/textViewBOH" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center" android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold" android:clickable="false"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="M"
android:id="@+id/textViewBMH" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center" android:background="@drawable/table_header_cell"
android:textStyle="bold" android:textSize="13sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="R"
android:id="@+id/textViewBRH" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center" android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="W"
android:id="@+id/textViewBWH" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center" android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textViewBECOH" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center" android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/listView2"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:id="@+id/innings2">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/black">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/BT2" android:textStyle="bold"
android:textColor="@color/white"
android:gravity="center_vertical|left" android:paddingLeft="2dp"
android:textSize="13sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/BTS2" android:textSize="13sp"
android:textColor="@color/white"
android:paddingLeft="4dp"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_weight="1"
android:gravity="center_vertical|right">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView7" android:textStyle="bold"
android:textColor="@color/white"
android:textSize="13sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0.00"
android:id="@+id/Bae2C" android:textColor="@color/white"
android:paddingLeft="2dp"
android:paddingRight="8dp" android:textSize="13sp"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView" android:textColor="@color/white"
android:layout_weight="3" android:gravity="center"
android:background="@drawable/table_header_cell_first"
android:textSize="13sp"
android:textStyle="bold"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="R"
android:id="@+id/textView9" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center"
android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"
android:clickable="false"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView10" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center"
android:background="@drawable/table_header_cell"
android:textStyle="bold" android:textSize="13sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView11" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center"
android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView4" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center"
android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView5" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center"
android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/listView3"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/black"
android:baselineAligned="false">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_weight="1"
android:baselineAligned="false">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/Bw1" android:textStyle="bold"
android:textColor="@color/white"
android:gravity="center_vertical|left" android:paddingLeft="2dp"
android:textSize="13sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/BoSe1" android:textSize="13sp"
android:textColor="@color/white"
android:paddingLeft="4dp"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textViewBH" android:textColor="@color/white"
android:layout_weight="3" android:gravity="center"
android:background="@drawable/table_header_cell_first"
android:textSize="13sp"
android:textStyle="bold"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textViewBOH" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center"
android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"
android:clickable="false"
/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textViewBMH" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center"
android:background="@drawable/table_header_cell"
android:textStyle="bold" android:textSize="13sp"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textViewBRH" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center"
android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textViewBWsH" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center"
android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textViewBECOH" android:textColor="@color/white"
android:layout_weight="1"
android:gravity="center"
android:background="@drawable/table_header_cell"
android:textSize="13sp" android:textStyle="bold"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/listView4"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
发布于 2013-05-13 14:43:11
这是可以做到的,尽管您不应该将列表视图放在滚动视图中,但有时这是更简单的方法:https://stackoverflow.com/a/3495908/1117338
发布于 2013-05-13 14:24:23
谷歌一位Android员工的回答是:
不要在ScrollView中使用ListView
https://plus.google.com/107708120842840792570/posts/T5AgJ7jiK88
发布于 2016-03-24 03:15:02
像这样使用:这就像CHARM一样
删除线性布局。使用相对布局,在其中放置两个列表视图,如下所示。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollojt"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#f00"></ListView>
<ListView
android:id="@+id/listView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/listView1"
android:background="#0f0"></ListView>
</RelativeLayout>
</ScrollView>
添加Utility.java
public class Utility {
public static void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}
int totalHeight = 0;
int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST);
for (int i = 0; i < listAdapter.getCount(); i++) {
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(desiredWidth, MeasureSpec.UNSPECIFIED);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
listView.setLayoutParams(params);
listView.requestLayout();
}
}
在您的活动中:
lv1.setAdapter(adapter);
lv2.setAdapter(adapter);
Utility.setListViewHeightBasedOnChildren(lv1);
Utility.setListViewHeightBasedOnChildren(lv2);
感谢#Nirmal的实际答案https://stackoverflow.com/a/17693628/1403112
https://stackoverflow.com/questions/16515879
复制相似问题