ScrollView内的相对布局 - 不滚动

时间:2014-09-10 18:34:20

标签: android xml relativelayout android-scrollview

我有一个相对布局作为Scrollview的孩子。我已经在这里尝试了一堆答案,但滚动条没有工作。

这是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:scrollbars="none"
    android:fillViewport="true"
    android:background="@drawable/home_bg_branco" >

    <RelativeLayout
        android:id="@+id/relative_categoria"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/categoria_placeholder_slider_listview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="-3dp"
            android:contentDescription="@string/home_placeholder_slider"
            android:src="@drawable/home_placeholder_slider"
            android:visibility="visible" />

        <ImageSwitcher
            android:id="@+id/home_imageswitcher_slider_listview"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_alignBottom="@id/categoria_placeholder_slider_listview"
            android:layout_alignLeft="@id/categoria_placeholder_slider_listview"
            android:layout_alignRight="@id/categoria_placeholder_slider_listview"
            android:layout_alignTop="@id/categoria_placeholder_slider_listview"
            android:scaleType="fitXY" />

        <ListView
            android:id="@+id/listViewCategoria"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@id/home_imageswitcher_slider_listview"
            tools:ignore="NestedScrolling" >
        </ListView>

        <ImageView
            android:id="@+id/categoria_cores_listview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/categoria_placeholder_slider_listview"
            android:layout_alignParentEnd="true"
            android:layout_alignParentLeft="true"
            android:contentDescription="@string/img_cores"
            android:src="@drawable/img_cores" />

        <ImageView
            android:id="@+id/categoria_destaque_listview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignStart="@id/categoria_placeholder_slider_listview"
            android:contentDescription="@string/img_destaques"
            android:src="@drawable/img_destaques" />
    </RelativeLayout>

</ScrollView>

另一件事:我禁用了列表视图滚动以避免冲突。

提前致谢!

2 个答案:

答案 0 :(得分:0)

您应该将layout_height的{​​{1}}更改为RelativeLayout

match_parent

同时从<RelativeLayout android:id="@+id/relative_categoria" android:layout_width="match_parent" android:layout_height="match_parent" > 删除android:fillViewport="true"

在我的项目中,我有几个ScrollView,就像这样,它们工作正常:

ScrollView

<强>更新
我可以提议的最后一件事是从<ScrollView android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" > 删除ListView,因为它可能会干扰布局和滚动。

答案 1 :(得分:0)

将此行添加到onCreate()

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE|WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);