Как заставить scrollview распространяться за пределы экрана android?
Мой корневой элемент - это относительная компоновка, в которой у меня есть один LinearLayout, завернутый в представление прокрутки. LinearLayout имеет несколько дочерних элементов, которые включают textViews, editText и другие Linearlayouts, которые имеют textviews и editText. Посмотрел несколько SO сообщений, но не помогло. Все, что я получаю, это серая полоса в правой части экрана, которая прокручивается максимум на дюйм, не может прокручиваться дальше вниз. Последние несколько компонентов видны только наполовину, и прокрутка не происходит до нижней части, где находятся мои последние компоненты видимый. Установка параметра viewport в true/false не имеет никакого эффекта. Любая помощь будет оценена.
<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:background="@drawable/bg_plain"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Testactivity">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerInParent="true"
android:layout_marginTop="40dp"
android:gravity="center"
android:singleLine="true"
android:text="INFORMATION"
android:textAlignment="center"
android:textColor="#6D6E71"
android:textSize="25sp"
/>
<ScrollView
android:layout_width="300dp"
android:layout_height="560dp"
android:layout_below="@+id/tv_title"
android:layout_centerInParent="true"
android:fillViewport="true"
>
<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginTop="10dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_firstname"
android:layout_width="170dp"
android:layout_height="30dp"
android:layout_gravity="left"
android:gravity="left|center"
android:text="FIRST NAME*"
android:textColor="#E96F34"
android:textSize="16sp"
/>
<TextView
android:id="@+id/tv_lastname"
android:layout_width="130dp"
android:layout_height="30dp"
android:layout_gravity="left"
android:gravity="left|center"
android:text="LAST NAME*"
android:textColor="#E96F34"
android:textSize="16sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et_firstname"
android:layout_width="130dp"
android:layout_height="30dp"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
android:inputType="textPersonName"
android:maxLength="3"
/>
<Space
android:layout_width="40dp"
android:layout_height="30dp"/>
<EditText
android:id="@+id/et_lastname"
android:layout_width="130dp"
android:layout_height="30dp"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
android:inputType="textPersonName"
/>
</LinearLayout>
<TextView
android:id="@+id/tv_titlein"
android:layout_width="170dp"
android:layout_height="30dp"
android:layout_gravity="left"
android:gravity="left|center"
android:text="TITLE"
android:textColor="#E96F34"
android:textSize="16sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<RadioButton
android:id="@+id/cb_mr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
android:text="MR."
/>
<Space
android:layout_width="30dp"
android:layout_height="match_parent"/>
<RadioButton
android:id="@+id/cb_mrs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
android:text="MRS./MS."
/>
</RadioGroup>
</LinearLayout>
<TextView
android:id="@+id/tv_company"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_gravity="left"
android:gravity="left|center"
android:text="COMPANY"
android:textColor="#E96F34"
android:textSize="16sp"
/>
<EditText
android:id="@+id/et_company"
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
android:inputType="number"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_phone"
android:layout_width="170dp"
android:layout_height="30dp"
android:layout_gravity="left"
android:gravity="left|center"
android:text="PHONE*"
android:textColor="#E96F34"
android:textSize="16sp"
/>
<TextView
android:id="@+id/tv_mobilephone"
android:layout_width="130dp"
android:layout_height="30dp"
android:layout_gravity="left"
android:gravity="left|center"
android:text="MOBILE PHONE*"
android:textColor="#E96F34"
android:textSize="16sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et_phone"
android:layout_width="130dp"
android:layout_height="30dp"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
android:inputType="number"
android:maxLength="3"
/>
<Space
android:layout_width="40dp"
android:layout_height="30dp"/>
<EditText
android:id="@+id/et_mobilephone"
android:layout_width="130dp"
android:layout_height="30dp"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
android:inputType="number"
/>
</LinearLayout>
<TextView
android:id="@+id/tv_emailaddress"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_gravity="left"
android:gravity="left|center"
android:text="EMAIL*"
android:textColor="#E96F34"
android:textSize="16sp"
/>
<EditText
android:id="@+id/et_emailaddress"
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
android:inputType="textEmailAddress"
/>
<TextView
android:id="@+id/tv_address"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_gravity="left"
android:gravity="left|center"
android:text="ADDRESS"
android:textColor="#E96F34"
android:textSize="16sp"
/>
<EditText
android:id="@+id/et_address"
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
android:inputType="text"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_city"
android:layout_width="170dp"
android:layout_height="30dp"
android:layout_gravity="left"
android:gravity="left|center"
android:text="CITY"
android:textColor="#E96F34"
android:textSize="16sp"
/>
<TextView
android:id="@+id/tv_zipcode"
android:layout_width="130dp"
android:layout_height="30dp"
android:layout_gravity="left"
android:gravity="left|center"
android:text="ZIP CODE"
android:textColor="#E96F34"
android:textSize="16sp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:orientation="horizontal">
<EditText
android:id="@+id/et_city"
android:layout_width="130dp"
android:layout_height="30dp"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
android:inputType="text"
android:maxLength="3"
/>
<Space
android:layout_width="40dp"
android:layout_height="30dp"/>
<EditText
android:id="@+id/et_zipcode"
android:layout_width="130dp"
android:layout_height="30dp"
android:background="@drawable/orange_full_rounded_corner"
android:gravity="center"
/>
</LinearLayout>
</LinearLayout>
</ScrollView>
1 ответ
Ваша структура макета в порядке. Проблема в том, что вы устанавливаете указанную высоту почти для всего, это нет, нет. Если вы хотите работать с высотой шрифта, есть свойство с именем
android:textSize
во всех представлениях, связанных с текстом, и предпочтительной единицей является sp для текста, dp для изображений.
Измените все высоты на
wrap_content