我有一个布局,我在ScrollView中有多个组件。我想在ScrollView中包含一个List。问题是如果我在滚动视图中包含ListView,ListView会在一个小空间中显示,并且列表也会滚动,因为列表会动态添加项目。 如果我从ScrollView中添加ListView它很好地显示但我不希望列表滚动并成为整个页面的一部分
这是我的代码: -
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/layoutMain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="10" >
<ScrollView
android:id="@+id/scrollNews"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_weight="4" >
<!-- Main vertical LinearLayout -->
<LinearLayout
android:id="@+id/layoutList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/txtNewsTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="10dp"
android:text="Large Text"
android:textAlignment="center"
android:textAppearance="?android:attr/textAppearanceLarge" />
<!-- Layout for Date, Likes, comments and views -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<LinearLayout
android:layout_width="98dp"
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner" >
<TextView
android:id="@+id/txtPubDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#F8F8F8"
android:textSize="11sp" />
</LinearLayout>
<ImageButton
android:id="@+id/btnViews"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginLeft="20dp"
android:background="@color/white"
android:src="@drawable/btnviewpressed" />
<TextView
android:id="@+id/txtNewsViews"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="view"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#FF3C6FA6" />
<ImageButton
android:id="@+id/btnComments"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:background="@color/white"
android:src="@drawable/btncommentpressed" />
<TextView
android:id="@+id/txtNewsComments"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="view"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#FF3C6FA6" />
</LinearLayout>
<ImageView
android:id="@+id/imgNewsImage"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/attini" />
<TextView
android:id="@+id/txtNewsBody"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="Small Text"
android:textAppearance="?android:attr/textAppearanceSmall" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp" >
<ImageView
android:id="@+id/btnComms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:background="@color/white"
android:src="@drawable/commspressed" />
<ImageButton
android:id="@+id/btnAddComms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/white"
android:src="@drawable/btnaddcommspressedxml"
android:textSize="10sp" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/getdata"
android:layout_gravity="bottom"
android:layout_weight="6"
android:divider="#b5b5b5"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector"
android:padding="5dp"
android:transcriptMode="alwaysScroll"
android:visibility="invisible" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:1)
有一些黑客可以在ListView
中启用ScrollView
,但它们并不好。
ListView
页眉和页脚视图。您应该以编程方式添加这些页眉和页脚。 ScrollView
和LinearLayout
代替ListView
,然后您可以以编程方式将列表中的项目逐个添加到LinearLayout
。 如果列表是主要的并且它很大,则第一种方法更好。