不滚动的Scrollview

时间:2013-06-30 13:44:16

标签: android scroll scrollview android-linearlayout relativelayout

为了在较小的屏幕中查看我的relativelayout中的所有元素,我已经选择使用scrollview使其成为可能(或者至少尝试完成此操作)。问题:我无法滚动。滚动视图是否相同的结果是相同的,如果屏幕很小,一些元素将被切断(如果可以滚动则这很好)。在一些搜索中,我遇到了一些带有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>

1 个答案:

答案 0 :(得分:0)

好哇!我得到了它的工作!这是一个组合,线性布局,scrollview和relativelayout是需要的。现在,当屏幕不够大,无法查看完整内容时,它会滚动完美。我猜测改为linearlayout,实际上是关键。基本上我应用了开发者网站中陈述的内容: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>