Android NestedScrollView ViewPager wrap_content

时间:2017-05-11 04:35:54

标签: android android-viewpager android-nestedscrollview

我正在使用nestedscrollview,因为我在同一个Activity中有recyclerview和其他视图。我甚至需要在列表和视图之间的同一活动中添加一个视图寻呼机。我看到如果我将高度设置为wrap_content,则视图寻呼机不会占用任何空间。如果我硬编码高度,它会显示出来。我需要将viewpager包装起来,因为寻呼机中的内容可能会增加或减少。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="@color/white"
                app:layout_behavior="@string/appbar_scrolling_view_behavior"
                tools:context="com.neighboure.customer.activity.ProductDetailActivity"
                tools:showIn="@layout/activity_product_detail">

    <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

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

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:padding="@dimen/_10sdp">

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/productsimgrecycleview"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/_60sdp">

                </android.support.v7.widget.RecyclerView>

                  <android.support.v4.view.ViewPager
                    android:id="@+id/des_spec_container"
                    android:layout_width="match_parent"
                    android:layout_height="180dp"
                    />


            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <Button
                    android:id="@+id/btncart"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@color/lightgrey"
                    android:text="@string/label_add_to_cart"
                    android:textColor="@color/black"/>

            </LinearLayout>


        </LinearLayout>

    </android.support.v4.widget.NestedScrollView>

</RelativeLayout>

请参阅以下屏幕截图以供参考

enter image description here

正如你在上面的图片中看到的那样,viewpager中的内容是可见的,因为我已经硬编码了视图寻呼机的高度。

enter image description here

在上图中,我已经包装了viewpager,内容不可见。

提前致谢。

2 个答案:

答案 0 :(得分:0)

可能考虑更换

android:layout_height="wrap_content"

结合

android:layout_height="0dp"
android:layout_weight="1"

请参见TextView below NestedScrollView with height wrap_content not visible

答案 1 :(得分:-1)

 NestedScrollView scrollView = (NestedScrollView) findViewById (R.id.nest_scrollview);
    scrollView.setFillViewport (true);

您可以看到ViewPager in a NestedScrollView