我有一个屏幕和许多布局项目。我想在ScrollView下占据整个屏幕,除了页脚按钮,这样在小屏幕中如果尺寸减小,它会向下滚动。但是当我将ScrollView作为父布局添加到所有它时,要么崩溃说“滚动视图不能处理太多的子项目”,否则它会搞乱布局。任何解决方案以下是我的代码和截图
请注意下面的代码我没有把所有东西都放在ScrollView下但是我希望除了页脚按钮之外的所有内容都在ScrollView中。
<?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:background="#E7EBEE"
android:gravity="center"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/windowtitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="#0a2436"
android:gravity="center_horizontal|center_vertical"
android:paddingBottom="10dip"
android:paddingTop="10dip"
android:src="@drawable/logo" >
</ImageView>
<ScrollView
android:id="@+id/formTab"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:divider="@android:color/darker_gray"
android:dividerHeight="1dip"
android:drawSelectorOnTop="false"
android:focusable="false"
android:paddingTop="0dip"
android:scrollbars="none" />
</ScrollView>
<!-- android:divider="@color/listDivider" -->
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#e7ebee"
android:orientation="horizontal" >
<TextView
android:id="@+id/list"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="center_vertical"
android:paddingTop="10dip"
android:paddingBottom="7dip"
android:paddingLeft="10dip"
android:text="SNS Connection"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#737577"
android:textSize="20sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:paddingTop="5dip"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:id="@+id/facebook"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingLeft="10dip"
android:src="@drawable/facebook" />
<TextView
android:id="@+id/list"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="center_vertical"
android:paddingLeft="10dip"
android:text="Facebook"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#444444"
android:textSize="20sp" />
<ImageView
android:id="@+id/facebook"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:paddingRight="15dip"
android:src="@drawable/ok" />
</LinearLayout>
<TextView android:id="@+id/tokentextfacebook"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/facebook"
android:textSize="14sp"
android:paddingLeft="10dip"
android:paddingBottom="5dip"
android:background="#ffffff"
android:text="Your token is run out. Please reconnect"
android:textColor="#444444"
android:gravity="left"
/>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray"/>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:paddingTop="5dip"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:id="@+id/twitter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingLeft="10dip"
android:src="@drawable/twitter" />
<TextView
android:id="@+id/list"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="center_vertical"
android:paddingLeft="10dip"
android:text="Twitter"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#4a82ae"
android:textSize="20sp" />
<ImageView
android:id="@+id/twitter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:paddingRight="15dip"
android:src="@drawable/ok" />
</LinearLayout>
<TextView android:id="@+id/tokentexttwitter"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/facebook"
android:textSize="14sp"
android:paddingLeft="10dip"
android:paddingBottom="5dip"
android:background="#ffffff"
android:text="Your token is run out. Please reconnect"
android:textColor="#444444"
android:gravity="left"
/>
</LinearLayout>
</LinearLayout>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:gravity="bottom"
android:stretchColumns="*" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal" >
<Button
android:id="@+id/btnManualLookup"
android:layout_width="0dp"
android:layout_weight="1"
android:background="#092435"
android:gravity="center"
android:padding="15dip"
android:text="Activity"
android:textColor="#ffffff" />
<Button
android:id="@+id/supportbutton"
android:layout_width="0dp"
android:layout_weight="1"
android:background="#092435"
android:gravity="center"
android:padding="15dip"
android:text="Support"
android:textColor="#ffffff" />
<Button
android:id="@+id/messagebutton"
android:layout_width="0dp"
android:layout_weight="1"
android:background="#092435"
android:gravity="center"
android:padding="15dip"
android:text="Messages"
android:textColor="#ffffff" />
</TableRow>
</TableLayout>
</LinearLayout>
答案 0 :(得分:0)
你不应该在ListView
内放ScrollView
,因为ListView
类实现了自己的滚动,它只是不接收手势,因为它们都由父{处理} {1}}。我强烈建议你以某种方式简化你的布局。例如,您可以将要滚动的视图添加到ScrollView
作为页眉或页脚。
如果您只想为页脚添加滚动视图,那么您只能在ListView
中添加页脚作为视图,这将提供平滑滚动。
答案 1 :(得分:0)
你可以做那样的事情。确保滚动视图只包含一个孩子..查看我的代码并进行分析。希望听起来不错。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:src="@drawable/ic_launcher"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="center text"
android:layout_gravity="center"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:src="@drawable/ic_launcher"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginBottom="2dp"
android:background="@color/black" >
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:src="@drawable/ic_launcher"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="center text"
android:layout_gravity="center"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:src="@drawable/ic_launcher"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginBottom="2dp"
android:background="@color/black" >
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:src="@drawable/ic_launcher"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="center text"
android:layout_gravity="center"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:src="@drawable/ic_launcher"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginBottom="2dp"
android:background="@color/black" >
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>