0

为了在较小的屏幕中查看我的relativelayout中的所有元素,我已经选择使用滚动视图使其成为可能(或至少尝试完成此操作)。问题:我无法滚动。有或没有滚动视图的结果是相同的,如果屏幕很小,一些元素会被截断(如果可以滚动,这很好)。在一些搜索中,我遇到了一些使用linearlayout实现的scrollview,但在我的案例中,我认为它不是很好,因为我需要与文本右侧对齐的复选框。不滚动的滚动视图

下面有什么,我得到了迄今为​​止的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> 

回答

0

好哇!我得到它的工作!这是所有的组合,linearlayout,scrollview和relativelayout都是需要的。现在,当屏幕不足以查看完整内容时,它会完美滚动。我猜想改变为线性布局,实际上是其中的关键。基本上我申请什么的开发者网站指出:http://developer.android.com/reference/android/widget/ScrollView.html

经常使用是的LinearLayout在垂直方向 ,呈现了 用户可以通过滚动顶级项目垂直排列的儿童。

的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:scrollbars="none" 
    android:overScrollMode="never" 
    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"> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:gravity="bottom" 
    android:keepScreenOn="true" 
    android:orientation="vertical" > 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="80dp" 
     android:id="@+id/logo" 
     android:scaleType="fitStart" 
     android:src="@drawable/logo"/> 

    <TextView 
     android:id="@+id/static_origin" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/static_origin" 
     android:paddingTop="10dp" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:textColor="#FFFFFF" /> 

    <AutoCompleteTextView 
     android:id="@+id/aComplete_origin" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:inputType="textNoSuggestions" 
     android:text="@string/aComplete_origin" > 
     <requestFocus /> 
    </AutoCompleteTextView> 

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

     <TextView 
      android:id="@+id/static_useCurrentLocation" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:textColor="#FFFFFF" 
      android:textSize="20sp" 
      android:paddingTop="10dp" 
      android:text="@string/static_useCurrentLocation" /> 

     <TextView 
      android:id="@+id/static_tolls" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/static_useCurrentLocation" 
      android:layout_below="@+id/static_useCurrentLocation" 
      android:textColor="#FFFFFF" 
      android:textSize="20sp" 
      android:paddingBottom="10dp" 
      android:paddingTop="10dp"   
      android:text="@string/static_tolls" /> 

     <TextView 
      android:id="@+id/static_highways" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/static_tolls" 
      android:layout_alignLeft="@+id/static_tolls" 
      android:paddingBottom="10dp" 
      android:text="@string/static_highways" 
      android:textColor="#FFFFFF" 
      android:textSize="20sp" />   

     <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" />  

    </RelativeLayout> 

    <TextView 
     android:id="@+id/static_destination" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/static_destination" 
     android:textColor="#FFFFFF" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <AutoCompleteTextView 
     android:id="@+id/aComplete_destination" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:inputType="textNoSuggestions" 
     android:text="@string/aComplete_destination" /> 

    <TextView 
     android:id="@+id/static_language" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/static_language" 
     android:textColor="#FFFFFF" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <RadioGroup 
     android:id="@+id/radioGroup" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     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> 

    <Button 
     android:id="@+id/btn_getDirections" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/btn_getDirections" /> 

</LinearLayout> 

</ScrollView>