2012-12-01 77 views
11

我已經嘗試了許多次aligh在我的RelativeLayout的元素,但我不明白的結果,我希望是:的RelativeLayout滾動

enter image description here

我想使第一按鈕,右上方然後我有多個TextView的,我想他們都滾動的,但是當我插入標籤我得到一個錯誤,這是我的代碼:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/RL01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:padding="5dp"> 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

    <Button 
      android:id="@+id/btnBrowser" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Browser" 
      android:layout_marginTop="5dp" 
      > 
    </Button> 

     <TextView 
     android:id="@+id/txtAuthor" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="20dp" 
     android:textStyle="bold" 
     android:textColor="#143781" 
     android:layout_marginTop="10dp" 
     android:layout_marginLeft="20dp" 
     android:layout_below="@+id/btnBrowser" 
     > 
    </TextView> 
    <TextView 
     android:id="@+id/txtDate" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="14dp" 
     android:textColor="#8D89B3" 
     android:layout_marginTop="5dp" 
     android:layout_marginLeft="20dp" 
     android:layout_below="@+id/txtAuthor"> 
    </TextView> 
    <TextView 
     android:id="@+id/txtTitle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="14dp" 
     android:textStyle="bold" 
     android:textColor="#000000" 
     android:layout_marginLeft="20dp" 
     android:layout_marginTop="5dp" 
     android:layout_below="@+id/txtDate"> 
     > 
    </TextView> 
    <TextView 
     android:id="@+id/txtMsg" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:textSize="14dp" 
     android:textColor="#000000" 
     android:layout_marginLeft="20dp" 
     android:layout_below="@+id/txtTitle"> 
    </TextView> 

    <Button 
      android:id="@+id/btnReply" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Reply" 
      android:layout_marginTop="20dp" 
      android:layout_below="@+id/txtMsg" 
      android:layout_centerInParent="@+id/txtMsg"> 

    </Button> 
     </ScrollView> 
</RelativeLayout> 
+0

你是否只需要滾動textviews?或所有的視圖,包括按鈕? – Jayabal

回答

19

ScrollView不允許超過一個直接的孩子,這就是爲什麼你得到錯誤。所以你試試如下:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
     <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentTop="true" 
     android:text="Button" /> 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/button1" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/textView1" 
     android:text="TextView" /> 

    <TextView 
     android:id="@+id/textView3" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_below="@+id/textView2" 
     android:text="TextView" /> 

    <Button 
     android:id="@+id/button2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:layout_below="@+id/textView3" 
     android:text="Button" /> 

    </RelativeLayout> 
</ScrollView> 
+0

這正是我想要的,只需要添加 \t \t android:layout_below =「@ + id/textView3」到第二個按鈕,它的工作原理,謝謝大家 – Davis

1

你不能把一個以上的小窗口中滾動型。爲此,您必須將視圖封裝在您的小部件中。像下面

<ScrollView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 
     <Button 
      android:id="@+id/btnBrowser" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="false" 
      android:layout_marginTop="5dp" 
      android:text="Browser" > 

     </Button> 


     <TextView 
      android:id="@+id/txtAuthor" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/btnBrowser" 
      android:layout_marginLeft="20dp" 
      android:layout_marginTop="10dp" 
      android:text="Text" 
      android:textColor="#143781" 
      android:textSize="20dp" 
      android:textStyle="bold" > 
     </TextView> 

     <TextView 
      android:id="@+id/txtDate" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/txtAuthor" 
      android:layout_marginLeft="20dp" 
      android:layout_marginTop="5dp" 
      android:textColor="#8D89B3" 
      android:textSize="14dp" android:text="Text" 
      > 
     </TextView> 

     <TextView 
      android:id="@+id/txtTitle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/txtDate" 
      android:layout_marginLeft="20dp" 
      android:layout_marginTop="5dp" 
      android:textColor="#000000" 
      android:textSize="14dp" 
      android:textStyle="bold" android:text="Text"> 
     </TextView> 

     <TextView 
      android:id="@+id/txtMsg" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/txtTitle" 
      android:layout_marginLeft="20dp" 
      android:textColor="#000000" 
      android:textSize="14dp" android:text="Text"> 
     </TextView> 

     <Button 
      android:id="@+id/btnReply" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/txtMsg" 
      android:layout_centerInParent="@+id/txtMsg" 
      android:layout_marginTop="20dp" 
      android:text="Reply" > 
     </Button> 
    </RelativeLayout> 
</ScrollView> 

1

你加入scrollviewrelativelayout。您必須在scrollview之內添加Relativelayout才能獲得結果。還有一個件事scrollview可以只包含一次一個孩子這麼加relativelayoutscrollview,看到了差距

相關問題