2012-12-01 79 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,看到了差距

相关问题