Android设置滚动视图与相对布局

时间:2013-08-16 10:12:24

标签: android android-layout android-scrollview

我有下一个代码:

<TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView2"
        android:layout_below="@+id/editText1"
        android:layout_marginTop="30dp"
        android:text="@string/cm_diameter"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView3"
        android:layout_below="@+id/textView3"
        android:layout_marginTop="28dp"
        android:text="@string/from"
        android:textAppearance="?android:attr/textAppearanceSmall" />

我正在使用的参数与相对布局相关联。

我想使用滚动视图包装此文本视图(我还有其他视图)。

我的图像显示滚动视图(绿色视图),滚动视图下方显示另一个容器(黑色视图)。我怎样才能达到这个结果?

我尝试在滚动视图中使用线性布局,但它有我预期的不同结果。

enter image description here

2 个答案:

答案 0 :(得分:3)

我不知道究竟是什么android:layout_marginTop。但是正如你上面的设计我尝试为此做一个简单的布局,我觉得它有效。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:background="#ff00ff00" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="10dip" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Calculation" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingLeft="30dip"
            android:text="Item1"
            android:textAppearance="@android:style/TextAppearance.Large" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="30dip"
            android:text="Another text view for test"
            android:textAppearance="@android:style/TextAppearance.Large" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="60dip"
            android:text="Another text view for test"
            android:textAppearance="@android:style/TextAppearance.Large" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="60dip"
            android:text="Another text view for test"
            android:textAppearance="@android:style/TextAppearance.Large" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="60dip"
            android:text="Another text view for test"
            android:textAppearance="@android:style/TextAppearance.Large" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="60dip"
            android:text="Another text view for test"
            android:textAppearance="@android:style/TextAppearance.Large" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="60dip"
            android:text="Another text view for test"
            android:textAppearance="@android:style/TextAppearance.Large" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="60dip"
            android:text="Another text view for test"
            android:textAppearance="@android:style/TextAppearance.Large" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="60dip"
            android:text="Another text view for test"
            android:textAppearance="@android:style/TextAppearance.Large" />
    </LinearLayout>
</ScrollView>

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#ff000000"
    android:padding="20dip" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Add parameter" />
</FrameLayout>

是不是?

答案 1 :(得分:0)

如果我理解正确的话,希望这个例子能让你开始。 (如果我没有,请道歉。)

  <?xml version="1.0" encoding="utf-8"?>
  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff00ff00"
>
<ScrollView 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:layout_above="@+id/footer" >
    <LinearLayout 
        android:id="@+id/mainbody"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"            
        android:orientation="vertical"          
        >           
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="Calculation"/>
        <!--Add the rest of you views here possibly changing 'mainbody'
        to be a RelativeLayout depending on the rest of your layout-->          
    </LinearLayout>
</ScrollView>     
<RelativeLayout
    android:id="@+id/footer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="#ff000000"
    android:layout_alignParentBottom="true">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="My footer button"
        android:layout_margin="10dip"
        android:layout_centerInParent="true"/>
</RelativeLayout>