我有以下布局,包含几个文本框,我想将其作为一个对象滚动。然后我在下面有一个线性布局,其中包含导航按钮 - 我希望它粘在屏幕的底部而不是滚动。
现在底部的线性布局被推离屏幕 - 我怀疑是因为设置了滚动视图的高度。但是,我无法解决这个问题。如何才能使线性视图中的按钮始终可见并粘在屏幕底部(而不是滚动视图的底部)?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
android:paddingLeft="8dp"
android:paddingRight="8dp"
tools:context="com.QuestionView">
<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<ScrollView
android:id="@+id/ScrollView"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:scrollbars="horizontal">
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical|center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/questionText"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:text="TextView"
android:textSize="24dp" />
<TextView
android:id="@+id/answerA"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:text="TextView"
android:textSize="24dp" />
<TextView
android:id="@+id/answerB"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:text="TextView"
android:textSize="24dp" />
<TextView
android:id="@+id/answerC"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:text="TextView"
android:textSize="24dp" />
<TextView
android:id="@+id/answerD"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:text="TextView"
android:textSize="24dp" />
</LinearLayout>
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/back"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="#ff9933"
android:text="Back" />
<Button
android:id="@+id/flip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="#1a75ff"
android:text="Flip" />
<Button
android:id="@+id/next"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="#ff9933"
android:text="Next" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:0)
对外部布局使用RelativeLayout。使用按钮定义线性布局为layout_alignParentBottom。使ScrollView layout_above按钮布局和layout_below工具栏(应该是alignParentTop)。然后按钮将位于底部,工具栏位于顶部,以及它们之间的滚动视图。
答案 1 :(得分:0)
最好的方法是使用android.support.design.widget.CoordinatorLayout
在底部使用按钮布局android:layout_gravity="bottom"
,如下所示
第1步:
添加compile 'com.android.support:design:26.1.0'
第2步:
<android.support.design.widget.CoordinatorLayout
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"
tools:context="com.QuestionView">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/questionText"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:text="TextView"
android:textSize="24dp" />
<TextView
android:id="@+id/answerA"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:text="TextView"
android:textSize="24dp" />
<TextView
android:id="@+id/answerB"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:text="TextView"
android:textSize="24dp" />
<TextView
android:id="@+id/answerC"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:text="TextView"
android:textSize="24dp" />
<TextView
android:id="@+id/answerD"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="vertical"
android:text="TextView"
android:textSize="24dp" />
</LinearLayout>
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:orientation="horizontal">
<Button
android:id="@+id/back"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="#ff9933"
android:text="Back" />
<Button
android:id="@+id/flip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="#1a75ff"
android:text="Flip" />
<Button
android:id="@+id/next"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:backgroundTint="#ff9933"
android:text="Next" />
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>