2011-03-05 76 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); 
}