2011-03-05 47 views
0

我有三个可能的应用程序,在另一个相对布局。把布局放在底部,并添加滚动条

<RelativeLayout_1><CheckBox></CheckBox></RelativeLayout> 
<RelativeLayout_2></RelativeLayout> 
<RelativeLayout_3></RelativeLayout> 

首先是顶部,第三是底部。当我点击第一个布局中的复选框时,第二个布局可见/不可见。如何实现我总是在底部看到第三个布局,并在可见时将第二个滚动条放在第二个布局上? (其次有内容很多,所以当可见时,第三个布局消失)。

回答

1

尝试

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    android:background="#888888" 
    android:id="@+id/relativeLayout1"> 
    <RelativeLayout 
     android:layout_height="wrap_content" 
     android:id="@+id/relativeLayout2" 
     android:layout_width="fill_parent" 
     android:background="#404000" 
     android:layout_alignParentTop="true"> 
     <CheckBox 
     android:text="CheckBox" 
     android:id="@+id/checkBox1" 
     android:layout_width="wrap_content" 
     android:onClick="myClickHandler" 
     android:layout_height="wrap_content"></CheckBox> 
     <CheckBox 
     android:text="CheckBox" 
     android:layout_height="wrap_content" 
     android:id="@+id/checkBox2" 
     android:onClick="myClickHandler" 
     android:layout_alignParentRight="true" 
     android:layout_width="wrap_content"></CheckBox> 
    </RelativeLayout> 
    <ScrollView 
     android:id="@+id/scrollView1" 
     android:layout_below="@+id/relativeLayout2" 
     android:scrollbars="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
     <RelativeLayout 
     android:layout_height="wrap_content" 
     android:id="@+id/relativeLayout3" 
     android:layout_width="fill_parent" 
     android:background="#000040" 
     android:orientation="vertical"> 
     <TextView 
      android:layout_height="190dp" 
      android:id="@+id/textView1" 
      android:text="TextView1" 
      android:layout_alignParentTop="true" 
      android:background="#004000" 
      android:layout_width="wrap_content" 
      android:textSize="20pt"></TextView> 
     <TextView 
      android:layout_height="190dp" 
      android:id="@+id/textView2" 
      android:text="TextView2" 
      android:layout_width="wrap_content" 
      android:background="#000040" 
      android:layout_below="@+id/textView1" 
      android:textSize="20pt"></TextView> 
     <TextView 
      android:layout_height="190dp" 
      android:id="@+id/textView3" 
      android:text="TextView3" 
      android:layout_width="wrap_content" 
      android:background="#400000" 
      android:layout_below="@+id/textView2" 
      android:textSize="20pt"></TextView> 
     </RelativeLayout> 
    </ScrollView> 
    <RelativeLayout 
     android:layout_height="wrap_content" 
     android:id="@+id/relativeLayout4" 
     android:layout_width="fill_parent" 
     android:layout_alignParentBottom="true"> 
     <TextView 
     android:layout_height="wrap_content" 
     android:id="@+id/textView4" 
     android:text="I'm a text view in bottom Rel Layout" 
     android:layout_alignParentTop="true" 
     android:layout_width="wrap_content" 
     android:background="#000000"></TextView> 
    </RelativeLayout> 
</RelativeLayout> 

而对于单击处理

public void myClickHandler(View target) { 

    View rv = findViewById(R.id.scrollView1); 
    CheckBox cb1 = (CheckBox) findViewById(R.id.checkBox1); 
    CheckBox cb2 = (CheckBox) findViewById(R.id.checkBox2); 

    switch (target.getId()) { 
     case R.id.checkBox1: 
     cb2.setChecked(false); 
     break; 
     case R.id.checkBox2: 
     cb1.setChecked(false); 
     break; 
    } 
    rv.setVisibility(cb1.isChecked() ? View.VISIBLE : View.GONE); 
}