当' fillViewport'时,视图在ScrollView中消失。未设置为true

时间:2016-01-26 11:57:10

标签: android android-layout android-view android-scrollview

我最近在下面的存储库中实现了WheelIndicatorView

https://github.com/dlazaro66/WheelIndicatorView

以下是我的布局的XML代码,它使用了新的View

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:fillViewport="true">

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

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:text="@string/heading"
            android:id="@+id/heading"
            style="@style/Heading" />

        <Spinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/heading"
            android:id="@+id/spinner"
            android:entries="@array/spinner_values" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:layout_below="@+id/spinner">

            <com.dlazaro66.wheelindicatorview.WheelIndicatorView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/wheel_indicator_view"
                android:layout_centerInParent="true"
                app:itemsLineWidth="13dp" />

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

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:text="@string/total"
                    android:id="@+id/total"
                    style="@style/Heading" />

            </LinearLayout>
        </RelativeLayout>

        <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="true"
            android:src="@android:drawable/ic_menu_more"
            android:tint="@color/White"
            app:backgroundTint="@color/DarkViolet"
            app:fabSize="normal"
            app:elevation="6dp"
            app:pressedTranslationZ="12dp" />

    </RelativeLayout>
</ScrollView>

不幸的是,我目前正在两个问题之间进行斗争。第一个问题是,如果我从android:fillViewport="true"中移除ScrollView,则WheelIndicatorView会完全消失。但是,如果我确实将该变量添加到ScrollView,那么虽然屏幕上会显示WheelIndicatorView,但可滚动的&#39;视图不再实际可滚动。我哪里出错了,如何永久解决这个布局问题?

编辑 - 以下是我可以提出的最简单的布局,以详细说明此问题(WheelIndicatorView中多个ScrollView在彼此之上:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:fillViewport="true">

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

        <com.dlazaro66.wheelindicatorview.WheelIndicatorView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/wheel_indicator_view"
            app:itemsLineWidth="13dp" />

        <com.dlazaro66.wheelindicatorview.WheelIndicatorView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/wheel_indicator_view2"
            app:itemsLineWidth="13dp" />

    </LinearLayout>
</ScrollView>

0 个答案:

没有答案