android - 列表和图片在同一个 ScrollView 中

标签 android android-layout android-listview android-imageview android-linearlayout

我正在尝试在同一个“滚动”中获取图像和列表(我不知道如何放置)。我的基本(垂直)布局是:

  • TextView

  • ImageView

  • ListView

我正在尝试让图像滚动,就好像图像本身就是一个列表项一样。所以 textview 必须留在顶部,其他所有内容都必须在其下方滚动。

目前我有以下代码:

<?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="@color/background"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@color/app_purple"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/about_app_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:padding="15dp"
        android:text="@string/about_app_label"
        android:textColor="@color/background"
        android:textSize="20dp"
        android:textStyle="bold" />

        <ImageView
            android:id="@+id/app_logo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:src="@drawable/logo" />

</LinearLayout>

<ListView
    android:id="@+id/information_list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/background"
    android:divider="@drawable/listdivider"
    android:dividerHeight="1dp"
    android:fadingEdge="none" >

    <!-- Preview: listitem=@layout/row -->
</ListView>

如有任何帮助,我们将不胜感激!

编辑

listView 的自定义行布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@color/listview"
android:orientation="horizontal"
android:padding="4dip" >

<ImageView
    android:id="@+id/list_icon"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:adjustViewBounds="true"
    android:layout_marginRight="5dp"
    android:contentDescription="@string/icon_content_description" />

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/list_label"
            android:layout_width="200dp"
            android:layout_height="wrap_content"

            android:maxLines="1"
            android:paddingBottom="5dp"
            android:paddingTop="5dp"
            android:textColor="@color/result_label"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/list_count"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/list_label"
            android:ellipsize="end"
            android:gravity="center_vertical"
            android:maxLines="1"
            android:textColor="@color/text" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/list_result"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:textColor="@color/text"
            android:textColorLink="@color/app_purple" />

        <ProgressBar
            android:id="@+id/list_progress"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:gravity="center_vertical"
            android:visibility="gone" />
    </RelativeLayout>
</LinearLayout>

最佳答案

您将拥有一个垂直的 LinearLayout,其中包含固定的 TextViewListView。您的 ImageView 将是 ListView 上的标题,通过 addHeaderView() 添加。标题,不管它们的名称如何,都会随着 ListView 的内容滚动。

关于android - 列表和图片在同一个 ScrollView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9559344/

相关文章:

java - 如何使我的应用程序支持所有设备分辨率

java - 将图像存储在 SharedPreferences 中

android - 主题更改不适用于 <4.0,因为它应该

android - 带有 CAB 的 ListView - 如何使项目可点击但不可选择?

android - 具有 visibility=gone 元素的膨胀布局的性能影响

android - Recycler View 列表适配器更新 UI 不正确

android - 如何为 Email Application Built-in Android 构建插件?

java - Android Studio 应用程序可在模拟器中运行,但不能在真实设备上运行

安卓 : split the screen in 2 equals parts with 2 listviews

android - 使用数据绑定(bind)时如何设置嵌套的回收器 View 适配器?