为了在较小的屏幕上查看我的 relativelayout 中的所有元素,我选择使用滚动视图来使其成为可能(或至少尝试完成此操作)。问题:我无法滚动。有或没有滚动视图的结果是一样的,如果屏幕很小,一些元素会被截断(如果可以滚动,这很好)。在一些搜索中,我遇到了一些带有线性布局实现的滚动视图,但在我的情况下,我认为它不是很好,因为我需要与文本右侧对齐的复选框。
这是我到目前为止得到的 xml:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#231E1A"
android:keepScreenOn="true"
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:ignore="ContentDescription"
android:fillViewport="true">
<RelativeLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
android:id="@+id/btn_getDirections"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="@string/btn_getDirections" />
<TextView
android:id="@+id/static_language"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/radioGroup"
android:layout_alignLeft="@+id/radioGroup"
android:text="@string/static_language"
android:paddingTop="10dp"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#FFFFFF" />
<AutoCompleteTextView
android:id="@+id/aComplete_destination"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/static_language"
android:layout_alignLeft="@+id/static_language"
android:ems="10"
android:inputType="textNoSuggestions"
android:text="@string/aComplete_destination" />
<TextView
android:id="@+id/static_destination"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/aComplete_destination"
android:layout_alignLeft="@+id/aComplete_destination"
android:text="@string/static_destination"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/static_highways"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/static_destination"
android:layout_alignLeft="@+id/static_destination"
android:paddingBottom="10dp"
android:text="@string/static_highways"
android:textColor="#FFFFFF"
android:textSize="20sp" />
<TextView
android:id="@+id/static_tolls"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/static_highways"
android:layout_alignLeft="@+id/static_highways"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:text="@string/static_tolls"
android:textColor="#FFFFFF"
android:textSize="20sp" />
<TextView
android:id="@+id/static_useCurrentLocation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/static_tolls"
android:layout_alignLeft="@+id/static_tolls"
android:paddingTop="10dp"
android:text="@string/static_useCurrentLocation"
android:textColor="#FFFFFF"
android:textSize="20sp" />
<AutoCompleteTextView
android:id="@+id/aComplete_origin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/static_useCurrentLocation"
android:layout_alignLeft="@+id/static_useCurrentLocation"
android:ems="10"
android:inputType="textNoSuggestions"
android:text="@string/aComplete_origin" >
<requestFocus />
</AutoCompleteTextView>
<TextView
android:id="@+id/static_origin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/aComplete_origin"
android:layout_alignLeft="@+id/aComplete_origin"
android:text="@string/static_origin"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#FFFFFF" />
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/static_origin"
android:layout_alignLeft="@+id/static_origin"
android:layout_alignParentTop="true"
android:paddingBottom="10dp"
android:scaleType="fitStart"
android:src="@drawable/logo" />
<CheckBox
android:id="@+id/tolls_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/static_tolls"
android:layout_alignBottom="@+id/static_tolls"
android:layout_alignParentRight="true"
android:text="@string/checkbox" />
<CheckBox
android:id="@+id/highways_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/static_highways"
android:layout_alignBottom="@+id/static_highways"
android:layout_alignParentRight="true"
android:text="@string/checkbox" />
<CheckBox
android:id="@+id/useLocation_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/static_useCurrentLocation"
android:layout_alignBottom="@+id/static_useCurrentLocation"
android:layout_alignParentRight="true"
android:text="@string/checkbox" />
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/btn_getDirections"
android:layout_alignLeft="@+id/btn_getDirections"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/radio_english"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:textColor="#FFFFFF"
android:layout_marginRight="20dp"
android:text="@string/radio_english" />
<RadioButton
android:id="@+id/radio_portugues"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:text="@string/radio_portugues" />
</RadioGroup>
</RelativeLayout>
</ScrollView>