首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >滚动视图在Android上出错

问滚动视图在Android上出错
EN

Stack Overflow用户
提问于 2021-12-23 13:54:26
回答 1查看 106关注 0票数 0

我正在尝试创建一个布局资源文件。但是,在此过程中,我决定希望页面处于滚动视图中,以便可以添加更多的项。当我添加滚动视图标签和关闭标签时,布局资源文件停止响应,并产生错误,应用程序将不会因为它而在模拟器上打开。

以下是XML代码:

代码语言:javascript
复制
  <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp"
    android:background="@color/generalBackground"
    android:orientation="vertical"
    android:padding="5dp"
    android:weightSum="100">

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


        <!-- Book Info -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:orientation="horizontal"
            android:weightSum="100">

            <ImageView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="40" />

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="60"
                android:orientation="vertical"
                android:weightSum="60">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="20"
                    android:gravity="center"
                    android:text="Book Title"
                    android:textSize="25sp"
                    android:textStyle="bold" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:gravity="center"
                    android:text="Author"
                    android:textSize="17sp"
                    android:textStyle="italic" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:text="Geners"
                    android:textSize="17sp"
                    android:textStyle="italic" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:text="Pages"
                    android:textSize="17sp"
                    android:textStyle="italic" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:text="Language"
                    android:textSize="17sp"
                    android:textStyle="italic" />

            </LinearLayout>
        </LinearLayout>

        <!-- Ratings -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="80dp"
            android:orientation="horizontal">
            <!-- Good Reads -->
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="15dp"
                android:layout_weight="10"
                android:gravity="center"
                android:orientation="vertical"
                android:weightSum="20">

                <ImageView
                    android:layout_width="50dp"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:background="@drawable/goodreads" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:orientation="horizontal"
                    android:weightSum="30">

                    <TextView
                        android:id="@+id/goodreadsr"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text=""
                        android:textSize="17sp"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text="/"
                        android:textSize="17sp"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text="5"
                        android:textSize="17sp"
                        android:textStyle="bold" />

                </LinearLayout>

            </LinearLayout>

            <!-- Common Sense Media -->
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="15dp"
                android:layout_weight="10"
                android:gravity="center"
                android:orientation="vertical"
                android:weightSum="20">

                <ImageView
                    android:layout_width="40dp"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:background="@drawable/commonsensemedia" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:orientation="horizontal"
                    android:weightSum="30">

                    <TextView
                        android:id="@+id/commonsensemediar"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text=""
                        android:textSize="17sp"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text="/"
                        android:textSize="17sp"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text="5"
                        android:textSize="17sp"
                        android:textStyle="bold" />

                </LinearLayout>

            </LinearLayout>


            <!-- Read Print -->
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="15dp"
                android:layout_weight="10"
                android:gravity="center"
                android:orientation="vertical"
                android:weightSum="20">

                <ImageView
                    android:layout_width="50dp"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:background="@drawable/readprint" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:orientation="horizontal"
                    android:weightSum="30">

                    <TextView
                        android:id="@+id/readprintr"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text=""
                        android:textSize="17sp"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text="/"
                        android:textSize="17sp"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text="5"
                        android:textSize="17sp"
                        android:textStyle="bold" />

                </LinearLayout>

            </LinearLayout>

            <!-- Kindle -->
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="15dp"
                android:layout_weight="10"
                android:gravity="center"
                android:orientation="vertical"
                android:weightSum="20">

                <ImageView
                    android:layout_width="50dp"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:background="@drawable/kindle" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="10"
                    android:orientation="horizontal"
                    android:weightSum="30">

                    <TextView
                        android:id="@+id/kindler"
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text=""
                        android:textSize="17sp"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text="/"
                        android:textSize="17sp"
                        android:textStyle="bold" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="match_parent"
                        android:layout_weight="10"
                        android:gravity="center"
                        android:text="5"
                        android:textSize="17sp"
                        android:textStyle="bold" />

                </LinearLayout>

            </LinearLayout>

        </LinearLayout>

        <!--Book Summary-->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="35dp"
                android:text="Book Summary"
                android:textSize="@dimen/subTitle"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/bookSummary"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="add book summary"
                android:textSize="15sp"
                android:textStyle="italic" />

        </LinearLayout>

        <!-- Book Quotes -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="20"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Book Quotes"
                android:textSize="@dimen/subTitle"
                android:textStyle="bold" />

            <HorizontalScrollView
                android:layout_width="wrap_content"
                android:layout_height="100dp">

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

                    <TextView
                        android:id="@+id/quotebox1"
                        android:layout_width="250dp"
                        android:layout_height="match_parent"
                        android:layout_gravity="center"
                        android:layout_margin="10dp"
                        android:background="@drawable/quotebox"
                        android:text="add quote" />

                    <TextView
                        android:id="@+id/quotebox2"
                        android:layout_width="250dp"
                        android:layout_height="match_parent"
                        android:layout_gravity="center"
                        android:layout_margin="10dp"
                        android:background="@drawable/quotebox"
                        android:text="add quote" />

                    <TextView
                        android:id="@+id/quotebox3"
                        android:layout_width="250dp"
                        android:layout_height="match_parent"
                        android:layout_gravity="center"
                        android:layout_margin="10dp"
                        android:background="@drawable/quotebox"
                        android:text="add quote" />

                    <TextView
                        android:id="@+id/quotebox4"
                        android:layout_width="250dp"
                        android:layout_height="match_parent"
                        android:layout_gravity="center"
                        android:layout_margin="10dp"
                        android:background="@drawable/quotebox"
                        android:text="add quote" />


                    <TextView
                        android:id="@+id/quotebox5"
                        android:layout_width="250dp"
                        android:layout_height="match_parent"
                        android:layout_gravity="center"
                        android:layout_margin="10dp"
                        android:background="@drawable/quotebox"
                        android:text="add quote" />

                </LinearLayout>
            </HorizontalScrollView>
        </LinearLayout>

        <!-- Reviews -->

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

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="REVIEWS"
                android:textSize="25sp"
                android:textStyle="bold" />


            <!--review 1-->
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <de.hdodenhof.circleimageview.CircleImageView
                    android:id="@+id/profilepic1"
                    android:layout_width="60dp"
                    android:layout_height="60dp"
                    android:layout_gravity="bottom"
                    android:background="@drawable/profilepic" />

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@drawable/reviewbubble"
                    android:orientation="vertical"
                    android:weightSum="100">

                    <TextView
                        android:id="@+id/review1"
                        android:layout_width="match_parent"
                        android:layout_height="0dp"
                        android:layout_marginLeft="52dp"
                        android:layout_marginTop="35dp"
                        android:layout_marginRight="52dp"
                        android:layout_marginBottom="42dp"
                        android:layout_weight="80"
                        android:text="add a review"
                        android:textColor="@color/black"
                        android:textSize="15sp"
                        android:textStyle="italic" />

                </LinearLayout>
            </LinearLayout>
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:orientation="vertical"
            android:weightSum="100">

            <TextView
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="20"
                android:text="rate this book"
                android:textSize="25sp" />

            <RatingBar
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="80" />

        </LinearLayout>

    </ScrollView>
</LinearLayout>

非常感谢你的帮助,我很感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-23 14:17:47

您的布局结构如下所示:

代码语言:javascript
复制
<LinearLayout>

    <ScrollView>

        <!-- Book Info -->
        <LinearLayout>

            <ImageView/>
            <LinearLayout>
                <TextView/>
                <TextView/>
                <TextView/>
                <TextView/>
                <TextView/>
            </LinearLayout>
            
        </LinearLayout>

        <!-- Ratings -->
        <LinearLayout>
            
            <!-- Good Reads -->
            <LinearLayout>

                <ImageView/>
                
                <LinearLayout>
                    <TextView/>
                    <TextView/>
                    <TextView/>
                </LinearLayout>

            </LinearLayout>

            <!-- Common Sense Media -->
            <LinearLayout>

                <ImageView/>
                
                <LinearLayout>
                    <TextView/>
                    <TextView/>
                    <TextView/>
                </LinearLayout>

            </LinearLayout>

            <!-- Read Print -->
            <LinearLayout>

                <ImageView/>
                
                <LinearLayout>
                    <TextView/>
                    <TextView/>
                    <TextView/>
                </LinearLayout>

            </LinearLayout>

            <!-- Kindle -->
            <LinearLayout>

                <ImageView/>
                
                <LinearLayout>
                    <TextView/>
                    <TextView/>
                    <TextView/>
                </LinearLayout>

            </LinearLayout>

        </LinearLayout>

        <!--Book Summary-->
        <LinearLayout>

            <TextView/>
            <TextView/>

        </LinearLayout>

        <!-- Book Quotes -->
        <LinearLayout>

            <TextView/>

            <HorizontalScrollView>

                <LinearLayout>
                    <TextView/>
                    <TextView/>
                    <TextView/>
                    <TextView/>
                    <TextView/>
                </LinearLayout>
                
            </HorizontalScrollView>
            
        </LinearLayout>

        <!-- Reviews -->
        <LinearLayout>

            <TextView/>

            <!--review 1-->
            <LinearLayout>

                <de.hdodenhof.circleimageview.CircleImageView/>

                <LinearLayout>
                    <TextView/>
                </LinearLayout>
                
            </LinearLayout>
            
        </LinearLayout>

        <LinearLayout>

            <TextView/>
            <RatingBar/>

        </LinearLayout>

    </ScrollView>
    
</LinearLayout>

我试图编译您的布局代码,发现了这个错误。

ScrollView只能容纳一个直接子节点。

您可以在布局结构上看到,滚动视图下有多个子布局。

解决方案是在滚动视图下只生成一个直接子元素。也许您可以将1 LinearLayout放在滚动视图下,然后,您的代码的其余部分可以放在一个线性布局中。也许是这样的:

代码语言:javascript
复制
<LinearLayout>

    <ScrollView>
    
        <LinearLayout>

            <!-- Book Info -->
            <!-- Ratings -->
                <!-- Good Reads -->
                <!-- Common Sense Media -->
                <!-- Read Print -->
                <!-- Kindle -->
            <!--Book Summary-->
            <!-- Book Quotes -->
            <!-- Reviews -->
                <!--review 1-->

        </LinearLayout>

    </ScrollView>
    
</LinearLayout>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70463095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档