【问题标题】:How do I place a ScrollView in the code below?如何在下面的代码中放置 ScrollView?
【发布时间】:2019-10-05 02:11:55
【问题描述】:

下面是我的 XML 代码。我应该在整个屏幕上的哪里放置一个滚动视图属性,因为当我切换到横向视图时我的某些视图没有显示。

<?xml version="1.0" encoding="utf-8"?>



<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">







    <!--  whole linearlayout vertical begin tag   -->

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/linearLayout">



        <LinearLayout
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/linearLayoutCalendar"
            android:background="@drawable/border"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:layout_marginLeft="@dimen/activity_buttom_margin">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:layout_margin="10dp"
                android:text="Large Text"
                android:id="@+id/textView" />
            <DatePicker
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/datePicker"
                android:calendarViewShown="false"
                android:datePickerMode="spinner"/>
            <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="OK"
                android:id="@+id/button" />

        </LinearLayout>


        <LinearLayout
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/linearLayoutFollowUpRequest"
            android:background="@drawable/border"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:layout_marginLeft="@dimen/activity_buttom_margin">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:text="Large Text"
                android:id="@+id/textView2" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Large Text"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textView3" />

        </LinearLayout>

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/linearLayoutBookingRequest"
            android:background="@drawable/border"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:layout_marginLeft="@dimen/activity_buttom_margin">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:text="Large Text"
                android:id="@+id/textView4" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Large Text"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textView5" />

        </LinearLayout>

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/linearLayoutOccupancy"
            android:background="@drawable/border"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:layout_marginLeft="@dimen/activity_buttom_margin">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Large Text"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textView6" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Large Text"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textView7" />



        </LinearLayout>






    </LinearLayout>     <!-- Whole linear Vertical layout close tag    -->



    <!-- Whole linear Horizontal layout begin tag    -->
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/linearLayout"
        android:layout_toRightOf="@+id/linearLayout"
        android:layout_toEndOf="@+id/linearLayout"
        android:layout_marginLeft="80dp">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/linearLayout"
            android:layout_toRightOf="@+id/linearLayout"
            android:layout_toEndOf="@+id/linearLayout"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:background="@drawable/border">


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Follow Up"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textViewFollowUp" />
            <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/buttonFollowUp" />




        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/linearLayout"
            android:layout_toRightOf="@+id/linearLayout"
            android:layout_toEndOf="@+id/linearLayout"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:background="@drawable/border">


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Events Today"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textViewEventsToday" />
            <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:text="0"
                android:id="@+id/buttonEventsToday" />




        </LinearLayout>
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/linearLayout"
            android:layout_toRightOf="@+id/linearLayout"
            android:layout_toEndOf="@+id/linearLayout"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:background="@drawable/border">


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Bookings Today"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textViewBookingsToday" />
            <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/buttonBookingsToday" />

        </LinearLayout>



    </LinearLayout>



    <!-- Whole linear horizontal layout close tag    -->


<!--  linear vertical layout for drawer tag start   -->

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="50dp">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/drawerLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
        <FrameLayout android:id="@+id/maintcont"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        </FrameLayout>
        <ListView android:id="@+id/drawerlist"
            android:entries="@array/planets"
            android:layout_width="240dp"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:background="#fff"
            >

        </ListView>



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


</LinearLayout>
</LinearLayout>
<!--  linear vertical layout for drawer tag close   -->




</RelativeLayout>

下面是正常视图

景观

我想要实现的是在整个视图上有一个滚动视图,这样我就可以向下滚动以查看横向的所有视图。请注意,我使用的菜单抽屉布局是我的 XML 中的最后一个。如果尝试将滚动视图放在相对布局之前,我会收到以下错误

java.lang.IllegalArgumentException: DrawerLayout must be measured with MeasureSpec.EXACTLY.

如果我放在相对布局之后,它会午餐但不会滚动。

我已经能够解决滚动问题,但这就是我的抽屉的显示方式。截取我的主视图 这是屏幕截图 这是我的xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout        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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/drawerLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
        <FrameLayout android:id="@+id/maintcont"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        </FrameLayout>
        <ListView android:id="@+id/drawerlist"
            android:entries="@array/planets"
            android:layout_width="240dp"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:background="#fff"
            >

        </ListView>



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


</LinearLayout>














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


 <RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin">












    <!--  whole linearlayout vertical begin tag   -->

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/linearLayout">



        <LinearLayout
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/linearLayoutCalendar"
            android:background="@drawable/border"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:layout_marginLeft="@dimen/activity_buttom_margin">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:layout_margin="10dp"
                android:text="Large Text"
                android:id="@+id/textView" />
            <DatePicker
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/datePicker"
                android:calendarViewShown="false"
                android:datePickerMode="spinner"/>
            <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="OK"
                android:id="@+id/button" />

        </LinearLayout>


        <LinearLayout
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/linearLayoutFollowUpRequest"
            android:background="@drawable/border"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:layout_marginLeft="@dimen/activity_buttom_margin">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:text="Large Text"
                android:id="@+id/textView2" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Large Text"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textView3" />

        </LinearLayout>

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/linearLayoutBookingRequest"
            android:background="@drawable/border"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:layout_marginLeft="@dimen/activity_buttom_margin">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:text="Large Text"
                android:id="@+id/textView4" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Large Text"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textView5" />

        </LinearLayout>

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:id="@+id/linearLayoutOccupancy"
            android:background="@drawable/border"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:layout_marginLeft="@dimen/activity_buttom_margin">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Large Text"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textView6" />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Large Text"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textView7" />



        </LinearLayout>






    </LinearLayout>     <!-- Whole linear Vertical layout close tag    -->









    <!-- Whole linear Horizontal layout begin tag    -->
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/linearLayout"
        android:layout_toRightOf="@+id/linearLayout"
        android:layout_toEndOf="@+id/linearLayout"
        android:layout_marginLeft="80dp">

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/linearLayout"
            android:layout_toRightOf="@+id/linearLayout"
            android:layout_toEndOf="@+id/linearLayout"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:background="@drawable/border">


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Follow Up"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textViewFollowUp" />
            <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/buttonFollowUp" />




        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/linearLayout"
            android:layout_toRightOf="@+id/linearLayout"
            android:layout_toEndOf="@+id/linearLayout"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:background="@drawable/border">


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Events Today"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textViewEventsToday" />
            <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:text="0"
                android:id="@+id/buttonEventsToday" />




        </LinearLayout>
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/linearLayout"
            android:layout_toRightOf="@+id/linearLayout"
            android:layout_toEndOf="@+id/linearLayout"
            android:layout_marginBottom="@dimen/activity_buttom_margin"
            android:background="@drawable/border">


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:text="Bookings Today"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/textViewBookingsToday" />
            <Button
                style="?android:attr/buttonStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:layout_marginLeft="@dimen/activity_buttom_margin"
                android:layout_marginRight="@dimen/activity_buttom_margin"
                android:id="@+id/buttonBookingsToday" />

        </LinearLayout>


    </LinearLayout>

</ScrollView>



    </RelativeLayout>

请问有什么问题。

【问题讨论】:

  • 您是否尝试将滚动视图包裹在“整个线性布局垂直开始标签”周围?
  • 请浏览我的代码 @cYrixmorten 我是 android 新手,请告诉我在滚动视图之前放置线性布局的位置

标签: android


【解决方案1】:

您可以在&lt;RelativeLayout..&gt; 之后放置滚动视图。试试这个:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@+id/someid">

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

    <!--  whole linearlayout vertical begin tag   -->

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:id="@+id/linearLayout">
        ...
    </LinearLayout>
</RelativeLayout>
</ScrollView>
</RelativeLayout>

【讨论】:

  • 我经常这样尝试,我得到的错误是java.lang.IllegalStateException: ScrollView can host only one direct child
  • 那是因为滚动视图只能包含一个孩子。您可以在&lt;ScrollView&gt; 之后再添加一个&lt;RelativeLayout&gt;,并在关闭&lt;/ScrollView&gt; 之前将其关闭,以便所有内容都包含在&lt;RelativeLayout&gt; 中,它现在是&lt;ScrollView&gt; 的子代。
  • 请检查我更新的代码..我不知道哪里错了,我的屏幕截图也是
  • 对于 DrawerLayout 必须使用 MeasureSpec.EXACTLY 错误检查stackoverflow.com/questions/31746072/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多