Android 滚动视图中的线性布局
在手机上测试时,滚动视图中的线性布局不起作用 我将线性布局放在相对布局的滚动视图中,当我在手机上测试它时,它不会向下滚动 我把图像视图和标题寄存器放在滚动视图外,文本框和提交按钮放在线性布局内,我把它放在滚动视图内 请帮助我编写我尝试了这么久的代码。我试过滚动视图中的相对布局,设计显示正确,但在手机上测试时,它不会在手机中向下滚动(在这两种情况下)Android 滚动视图中的线性布局,android,android-layout,android-linearlayout,android-xml,android-scrollview,Android,Android Layout,Android Linearlayout,Android Xml,Android Scrollview,在手机上测试时,滚动视图中的线性布局不起作用 我将线性布局放在相对布局的滚动视图中,当我在手机上测试它时,它不会向下滚动 我把图像视图和标题寄存器放在滚动视图外,文本框和提交按钮放在线性布局内,我把它放在滚动视图内 请帮助我编写我尝试了这么久的代码。我试过滚动视图中的相对布局,设计显示正确,但在手机上测试时,它不会在手机中向下滚动(在这两种情况下) 更改滚动视图属性 android:layout_height="match_parent" 考虑使用约束布局,不要为小部件设置负边距, 对于sro
更改滚动视图属性
android:layout_height="match_parent"
考虑使用约束布局,不要为小部件设置负边距, 对于sroll视图,请使用“fillViewPort=true”,将此snippen用作基本布局,并根据需要进行修改
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
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:fitsSystemWindows="true"
tools:context=".ItemDetailActivity"
tools:ignore="MergeRootFrame">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/app_bar_height"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:toolbarId="@+id/toolbar">
<android.support.v7.widget.Toolbar
android:id="@+id/detail_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/item_detail_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.v7.widget.LinearLayoutCompat
android:orientation="vertical"
android:padding="16dp"
android:gravity="center_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_marginTop="16dp"
android:id="@+id/Namebox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="25"
android:hint="Name"
android:inputType="text"/>
<EditText
android:layout_marginTop="16dp"
android:id="@+id/Enailbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email"
android:inputType="textEmailAddress"/>
<EditText
android:layout_marginTop="16dp"
android:id="@+id/Phonebox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Phone"
android:inputType="phone" />
<EditText
android:layout_marginTop="16dp"
android:id="@+id/Passbox1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:inputType="textPassword" />
<EditText
android:layout_marginTop="16dp"
android:id="@+id/Passbox2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password Confirm"
android:inputType="textPassword" />
<Button
android:layout_marginTop="16dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Submit" />
</android.support.v7.widget.LinearLayoutCompat>
</android.support.v4.widget.NestedScrollView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_margin="@dimen/fab_margin"
app:layout_anchor="@+id/item_detail_container"
app:layout_anchorGravity="top|end"
app:srcCompat="@drawable/ic_done_black_24dp" />
</android.support.design.widget.CoordinatorLayout>
我已经修改了布局并删除了负边距。请查看下面的XML并尝试此方法。卷轴将按照您的期望工作
<?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/MistyRose"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingTop="16dp"
android:paddingRight="16dp"
android:paddingBottom="16dp" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="203dp"
android:layout_height="95dp"
android:background="@drawable/logo"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
/>
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_below="@id/imageView2"
android:layout_centerHorizontal="true"
android:text="Register"
android:layout_marginTop="100dp"
android:textColor="@color/Black"
android:textSize="40dp"
android:textStyle="italic" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/textView"
android:layout_marginTop="50dp"
android:fillViewport="true"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/Namebox"
android:layout_width="300dp"
android:layout_height="50dp"
android:background="@drawable/edittext"
android:layout_marginStart="30dp"
android:ems="25"
android:hint="Name"
android:inputType="text" />
<EditText
android:id="@+id/Enailbox"
android:layout_width="300dp"
android:layout_height="50dp"
android:background="@drawable/edittext"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:hint="Email"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/Phonebox"
android:layout_width="300dp"
android:background="@drawable/edittext"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:hint="Phone"
android:inputType="phone" />
<EditText
android:id="@+id/Passbox1"
android:layout_width="300dp"
android:background="@drawable/edittext"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:hint="Password"
android:inputType="textPassword" />
<EditText
android:id="@+id/Passbox2"
android:layout_width="300dp"
android:background="@drawable/edittext"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:hint="Password Confirm"
android:inputType="textPassword" />
<Button
android:layout_width="150dp"
android:layout_height="50dp"
android:background="@drawable/button"
android:layout_marginStart="100dp"
android:layout_marginTop="50dp"
android:text="Submit" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
请从ScrollView和 只需尝试以下代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/MistyRose"
android:orientation="vertical"
android:paddingLeft="16dp"
android:paddingTop="16dp"
android:paddingRight="16dp"
android:paddingBottom="16dp" >
<ImageView
android:id="@+id/imageView2"
android:layout_width="203dp"
android:layout_height="95dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:background="@drawable/logo" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_below="@id/imageView2"
android:layout_centerHorizontal="true"
android:text="Register"
android:textColor="@color/Black"
android:textSize="40dp"
android:textStyle="italic" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/textView"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/Namebox"
android:layout_width="300dp"
android:layout_height="50dp"
android:background="@drawable/edittext"
android:layout_marginStart="30dp"
android:ems="25"
android:hint="Name"
android:inputType="text"
android:layout_marginLeft="30dp" />
<EditText
android:id="@+id/Enailbox"
android:layout_width="300dp"
android:layout_height="50dp"
android:background="@drawable/edittext"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:hint="Email"
android:inputType="textEmailAddress"
android:layout_marginLeft="30dp" />
<EditText
android:id="@+id/Phonebox"
android:layout_width="300dp"
android:background="@drawable/edittext"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:hint="Phone"
android:inputType="phone"
android:layout_marginLeft="30dp" />
<EditText
android:id="@+id/Passbox1"
android:layout_width="300dp"
android:background="@drawable/edittext"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:hint="Password"
android:inputType="textPassword"
android:layout_marginLeft="30dp" />
<EditText
android:id="@+id/Passbox2"
android:layout_width="300dp"
android:background="@drawable/edittext"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:hint="Password Confirm"
android:inputType="textPassword"
android:layout_marginLeft="30dp" />
<Button
android:layout_width="150dp"
android:layout_height="50dp"
android:background="@drawable/button"
android:layout_marginStart="100dp"
android:layout_marginTop="50dp"
android:text="Submit"
android:layout_marginLeft="100dp" />
</LinearLayout>
</ScrollView>
</RelativeLayout>
在您的xml代码中,您只需删除它们,您的布局就会根据需要滚动。试试这个@Thomas
<RelativeLayout 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:background="@color/white">
<LinearLayout
android:id="@+id/headerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView2"
android:layout_width="203dp"
android:layout_height="95dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:background="@drawable/logo" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_alignBottom="@id/imageView2"
android:layout_centerHorizontal="true"
android:layout_marginBottom="-120dp"
android:text="Register"
android:textColor="@color/Black"
android:textSize="40dp"
android:textStyle="italic" />
</LinearLayout>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/headerView"
android:layout_marginBottom="@dimen/dimen_50dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:id="@+id/Namebox"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:background="@drawable/edittext"
android:ems="25"
android:hint="Name"
android:inputType="text" />
<EditText
android:id="@+id/Enailbox"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/edittext"
android:hint="Email"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/Phonebox"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/edittext"
android:hint="Phone"
android:inputType="phone" />
<EditText
android:id="@+id/Passbox1"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/edittext"
android:hint="Password"
android:inputType="textPassword" />
<EditText
android:id="@+id/Passbox2"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/edittext"
android:hint="Password Confirm"
android:inputType="textPassword" />
<Button
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_marginStart="100dp"
android:layout_marginTop="50dp"
android:background="@drawable/button"
android:text="Submit" />
</LinearLayout>
</ScrollView>
可能重复添加一个属性到ScrollView,即fillViewport将此行添加到scroll View android:fillViewport=“true”
<RelativeLayout 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:background="@color/white">
<LinearLayout
android:id="@+id/headerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView2"
android:layout_width="203dp"
android:layout_height="95dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:background="@drawable/logo" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="70dp"
android:layout_alignBottom="@id/imageView2"
android:layout_centerHorizontal="true"
android:layout_marginBottom="-120dp"
android:text="Register"
android:textColor="@color/Black"
android:textSize="40dp"
android:textStyle="italic" />
</LinearLayout>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/headerView"
android:layout_marginBottom="@dimen/dimen_50dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<EditText
android:id="@+id/Namebox"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:background="@drawable/edittext"
android:ems="25"
android:hint="Name"
android:inputType="text" />
<EditText
android:id="@+id/Enailbox"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/edittext"
android:hint="Email"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/Phonebox"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/edittext"
android:hint="Phone"
android:inputType="phone" />
<EditText
android:id="@+id/Passbox1"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/edittext"
android:hint="Password"
android:inputType="textPassword" />
<EditText
android:id="@+id/Passbox2"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_marginStart="30dp"
android:layout_marginTop="30dp"
android:background="@drawable/edittext"
android:hint="Password Confirm"
android:inputType="textPassword" />
<Button
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_marginStart="100dp"
android:layout_marginTop="50dp"
android:background="@drawable/button"
android:text="Submit" />
</LinearLayout>
</ScrollView>