滚动视图后无法在底部放置布局

时间:2016-05-05 09:34:33

标签: android listview user-interface uiview scrollview

滚动视图后,我无法在底部放置布局。请帮忙。 这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="fill_parent" >

    <LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="10dp">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/my_recycler_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fadingEdgeLength="0dp"
            android:overScrollMode="never"
            android:scrollbars="horizontal" />

        <LinearLayout
            android:id="@+id/bottom"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:orientation="horizontal"
            android:gravity="bottom">

            <LinearLayout
                android:id="@+id/linear_call"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="33"
                android:orientation="vertical"
                android:gravity="center"
                android:padding="8dp"
                android:background="@drawable/list_selector">

                <ImageView
                    android:id="@+id/btn_phone_main"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/call_us_tab"/>
                <TextView
                    android:id="@+id/call"
                    android:textColor="@android:color/white"
                    android:text="Call Us"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"/>
            </LinearLayout>
            <View
                android:layout_width="1dp"
                android:layout_height="fill_parent"
                android:background="#5488B8" />
            <LinearLayout
                android:id="@+id/linear_message"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="33"
                android:orientation="vertical"
                android:gravity="center"
                android:padding="8dp"
                android:background="@drawable/list_selector"
                >
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/message_tab"
                    />
                <TextView
                    android:id="@+id/msg"
                    android:textColor="@android:color/white"
                    android:text="Message"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>

            <View
                android:layout_width="1dp"
                android:layout_height="fill_parent"
                android:background="#5488B8" />

            <LinearLayout
                android:id="@+id/linear_share"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="33"
                android:orientation="vertical"
                android:gravity="center"
                android:background="@drawable/list_selector"
                android:padding="8dp">
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/share_tab"/>
                <TextView
                    android:id="@+id/share"
                    android:textColor="@android:color/white"
                    android:text="Share"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>
        </LinearLayout>

        <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:fadingEdgeLength="0dp"
            android:padding="5dp"
            android:fillViewport="true"
            android:overScrollMode="never"
            android:scrollbars="none"
            android:layout_above="@+id/bottom">

            <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">

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

                        <TextView
                            android:id="@+id/tv_name_detail_info"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:singleLine="true"
                            android:textStyle="bold"
                            android:layout_marginTop="5dp"/>


                        <TextView
                            android:id="@+id/tv_map"
                            android:layout_alignParentRight="true"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Show Map"
                            android:singleLine="true"
                            android:textStyle="bold"
                            android:layout_marginTop="5dp"/>
                    </RelativeLayout>
                    <TextView
                        android:id="@+id/tv_address"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <RatingBar
                        android:layout_marginTop="2dp"
                        android:id="@+id/rating_bar_pro_detail"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:numStars="5"
                        style="@style/foodRatingBar"/>


                    <TextView
                        android:id="@+id/tv_nearby"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5dp" />

                    <TextView
                        android:layout_marginTop="5dp"
                        android:id="@+id/tv_specialization"
                        android:text="Specialization: "
                        android:textStyle="bold"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"/>

                    <ListView
                        android:id="@+id/list_specialization"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:textStyle="bold"
                        android:layout_marginTop="5dp"
                        android:id="@+id/tv_education"
                        android:text="Education:"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"/>

                    <ListView
                        android:id="@+id/list_education"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:textStyle="bold"
                        android:id="@+id/tv_experiences"
                        android:layout_marginTop="5dp"
                        android:text="Experiences:"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"/>

                    <ListView
                        android:id="@+id/list_experience"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" />

                </LinearLayout>
            </LinearLayout>

        </ScrollView>
    </LinearLayout>

    <!-- The navigation drawer -->
    <ListView android:id="@+id/left_drawer"
        android:layout_width="260dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="#5488B8"
        android:dividerHeight="1dp"
        android:background="#00427F"
        android:listSelector="@drawable/list_selector"
        />

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

6 个答案:

答案 0 :(得分:0)

将根布局用作RelativeLayout,并将要对齐的视图放在底部,即添加此行:

android:layout_alignParentBottom="true"

这将解决您的问题。

答案 1 :(得分:0)

尝试此操作并为滚动视图提供任何可变大小而不是wrap_content

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/my_recycler_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:fadingEdgeLength="0dp"
        android:overScrollMode="never"
        android:scrollbars="horizontal" />

    <ScrollView 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:fadingEdgeLength="0dp"
        android:padding="5dp"
        android:fillViewport="true"
        android:overScrollMode="never"
        android:scrollbars="none"
         >

        <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">

                <TextView
                    android:id="@+id/tv_name_detail_info"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:singleLine="true"
                    android:textStyle="bold"
                    android:layout_marginTop="5dp"
                    />

                <TextView
                    android:id="@+id/tv_address"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

                <RatingBar
                    android:layout_marginTop="2dp"
                    android:id="@+id/rating_bar_pro_detail"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:numStars="5"
                    style="@style/foodRatingBar"
                    />


                <TextView
                    android:id="@+id/tv_nearby"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    />

                <TextView
                    android:layout_marginTop="5dp"
                    android:id="@+id/tv_specialization"
                    android:text="Specialization: "
                    android:textStyle="bold"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    />

                <ListView
                    android:layout_marginTop="5dp"
                    android:id="@+id/list_specialization"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

                <TextView
                    android:textStyle="bold"
                    android:layout_marginTop="5dp"
                    android:id="@+id/tv_education"
                    android:text="Education:"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

                <ListView
                    android:layout_marginTop="5dp"
                    android:id="@+id/list_education"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

                <TextView
                    android:textStyle="bold"
                    android:id="@+id/tv_experiences"
                    android:layout_marginTop="5dp"
                    android:text="Experiences:"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />

                <ListView
                    android:layout_marginTop="5dp"
                    android:id="@+id/list_experience"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

            </LinearLayout>


        </LinearLayout>


    </ScrollView>
         <LinearLayout
            android:id="@+id/bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="bottom"
            >

            <LinearLayout
                android:id="@+id/linear_call"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="33"
                android:orientation="vertical"
                android:gravity="center"
                android:padding="8dp"
                android:background="@drawable/list_selector">

                <ImageView
                    android:id="@+id/btn_phone_main"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/call_us_tab"/>
                <TextView
                    android:id="@+id/call"
                    android:textColor="@android:color/white"
                    android:text="Call Us"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"/>
            </LinearLayout>
            <View
                android:layout_width="1dp"
                android:layout_height="fill_parent"
                android:background="#5488B8" />
            <LinearLayout
                android:id="@+id/linear_message"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="33"
                android:orientation="vertical"
                android:gravity="center"
                android:padding="8dp"
                android:background="@drawable/list_selector"
                >
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/message_tab"
                    />
                <TextView
                    android:id="@+id/msg"
                    android:textColor="@android:color/white"
                    android:text="Message"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>

            <View
                android:layout_width="1dp"
                android:layout_height="fill_parent"
                android:background="#5488B8" />

            <LinearLayout
                android:id="@+id/linear_share"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="33"
                android:orientation="vertical"
                android:gravity="center"
                android:background="@drawable/list_selector"
                android:padding="8dp">
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/share_tab"/>
                <TextView
                    android:id="@+id/share"
                    android:textColor="@android:color/white"
                    android:text="Share"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    />
            </LinearLayout>
        </LinearLayout>

    </LinearLayout>

答案 2 :(得分:0)

您需要在父母处使用RelativeLayout代替LinearLayout,然后您可以将项目上下相互放置,例如

您希望在下面查看哪个视图,您可以使用此

android:layout_below="@+id/yourview"

对于您想要上面的视图,您可以使用此

android:layout_above="@+id/yourview"

这是一个示例

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:id="@+id/main"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/imageView">
        <!-- some stuff in here -->
    </LinearLayout>
    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</RelativeLayout>

希望有所帮助

答案 3 :(得分:0)

希望这是你想要的

  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
        tools:context=".MainActivity">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/my_recycler_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fadingEdgeLength="0dp"
            android:overScrollMode="never"
            android:scrollbars="horizontal" 
            />

        <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="220dp"
            android:fadingEdgeLength="0dp"
            android:padding="5dp"
            android:fillViewport="true"
            android:overScrollMode="never"
            android:scrollbars="none">

            <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">

                    <TextView
                        android:id="@+id/tv_name_detail_info"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:singleLine="true"
                        android:textStyle="bold"
                        android:layout_marginTop="5dp"
                        android:text="Name"/>

                    <TextView
                        android:id="@+id/tv_address"
                        android:text="address"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        />

                    <RatingBar
                        android:layout_marginTop="2dp"
                        android:id="@+id/rating_bar_pro_detail"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:numStars="5"

                        />


                    <TextView
                        android:id="@+id/tv_nearby"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginTop="5dp"
                        />

                    <TextView
                        android:layout_marginTop="5dp"
                        android:id="@+id/tv_specialization"
                        android:text="Specialization: "
                        android:textStyle="bold"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        />

                    <ListView
                        android:layout_marginTop="5dp"
                        android:id="@+id/list_specialization"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:textStyle="bold"
                        android:layout_marginTop="5dp"
                        android:id="@+id/tv_education"
                        android:text="Education:"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        />

                    <ListView
                        android:layout_marginTop="5dp"
                        android:id="@+id/list_education"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:textStyle="bold"
                        android:id="@+id/tv_experiences"
                        android:layout_marginTop="5dp"
                        android:text="Experiences:"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        />

                    <ListView
                        android:layout_marginTop="5dp"
                        android:id="@+id/list_experience"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" />

                </LinearLayout>


            </LinearLayout>


        </ScrollView>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:weightSum="5"
            >
        <LinearLayout
            android:layout_weight="2"
            android:id="@+id/bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="bottom"
            android:weightSum="3"
            >

            <LinearLayout
                android:id="@+id/linear_call"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="vertical"
                android:gravity="center"
                android:weightSum="3"
                android:background="#000000">

                <ImageView
                    android:id="@+id/btn_phone_main"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/name_top"
                    android:layout_weight="2"
                    />
                <TextView
                    android:id="@+id/call"
                    android:textColor="@android:color/white"
                    android:text="Call Us"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    />
            </LinearLayout>
            <View
                android:layout_width="1dp"
                android:layout_height="fill_parent"
                android:background="#5488B8" />
            <LinearLayout
                android:id="@+id/linear_message"
                android:layout_width="0dp"
                android:layout_height="match_parent"

                android:orientation="vertical"
                android:gravity="center"
                android:weightSum="2"
                android:layout_weight="1"
                android:background="#000000"
                >
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/name_top"
                   android:layout_weight="1"
                    />
                <TextView
                    android:id="@+id/msg"
                    android:textColor="@android:color/white"
                    android:text="Message"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    />
            </LinearLayout>

            <View
                android:layout_width="1dp"
                android:layout_height="fill_parent"
                android:background="#5488B8" />

            <LinearLayout
                android:id="@+id/linear_share"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="vertical"
                android:gravity="center"
                android:background="#000000"
                android:weightSum="2"
                >
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/name_top"
                    android:layout_weight="1"
                    />
                <TextView
                    android:id="@+id/share"
                    android:textColor="@android:color/white"
                    android:text="Share"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    />
            </LinearLayout>
        </LinearLayout>



    <!-- The navigation drawer -->
    <ListView
        android:layout_weight="3"
        android:id="@+id/left_drawer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="#5488B8"
        android:dividerHeight="1dp"
        android:background="#00427F"
        android:listSelector="#898989"
        />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

答案 4 :(得分:0)

尝试这样,这将解决您的问题。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/my_recycler_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:fadingEdgeLength="0dp"
        android:overScrollMode="never"
        android:scrollbars="horizontal" />

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/bottom"
        android:layout_below="@+id/my_recycler_view"
        android:fadingEdgeLength="0dp"
        android:fillViewport="true"
        android:overScrollMode="never"
        android:padding="5dp"
        android:scrollbars="none">

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

        </LinearLayout>
    </ScrollView>

    <LinearLayout
        android:id="@+id/bottom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="bottom"
        android:orientation="horizontal">

    </LinearLayout>

</RelativeLayout>

答案 5 :(得分:-1)

请在gradle文件中更新recyclerview库的版本:

str

它应该解决你的问题。

由于这个issue,在此版本之前,wrap_content不用于在recyclerview上工作。