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>