Android Relativelayout自定义对话框问题

时间:2012-08-27 08:18:05

标签: android relativelayout customdialog

我需要帮助我的相对布局。当我启动自定义对话框时,无法看到我的“关闭”按钮。只有在我将ScollView高度设置为“200dp”左右时才能看到它。我不想手动设置高度。有办法实现吗?也许使用android:weightSum?请告诉我它是如何完成的。感谢

OnMenuItemClickListener mAboutButtonClickListener = new OnMenuItemClickListener() {

         @Override
            public boolean onMenuItemClick(MenuItem item) {  

                final Dialog dialog = new Dialog(MainPageActivity.this);
                dialog.setContentView(R.layout.about_us);
                dialog.setTitle("About Us");
                dialog.setCancelable(true);

                TextView text = (TextView) dialog.findViewById(R.id.TextView01);

                try {
                    Resources res = getResources();
                    InputStream in_s = res.openRawResource(R.raw.disclaimer);

                    byte[] b = new byte[in_s.available()];
                    in_s.read(b);
                    text.setText(new String(b));

                } catch (Exception e) {
                    // e.printStackTrace();
                    text.setText("Error: can't show help.");
                }


                //set up button
                Button button = (Button) dialog.findViewById(R.id.Button01);
                button.setOnClickListener(new OnClickListener() {
                @Override
                    public void onClick(View v) {

                    dialog.dismiss();
                    }
                });


                dialog.show();
                return false;
            }
        };

我的xml

 <?xml version="1.0" encoding="utf-8"?>


        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
              >

        <ScrollView android:id="@+id/ScrollView01" 
                    android:layout_width="wrap_content" 
                    android:layout_height="wrap_content" 
                    xmlns:android="http://schemas.android.com/apk/res/android"
                    android:scrollbars="vertical" 
                    android:scrollbarAlwaysDrawVerticalTrack="true">

        <TextView   android:id="@+id/TextView01"
                    android:layout_width="wrap_content" 
                android:layout_height="wrap_content"/>

        </ScrollView>

        <Button android:id="@+id/Button01" 
                android:layout_below="@+id/ScrollView01"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true" 
                android:text="Close"
                        android:layout_alignParentBottom="true"/>
    </RelativeLayout>

1 个答案:

答案 0 :(得分:2)

你可以使用这样的东西。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/root"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical" >

<ScrollView
  android:layout_width="match_parent"
  android:layout_height="0dip"
  android:layout_weight="1" >

 <TextView   android:id="@+id/TextView01"
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content"/>

 </ScrollView>

 <Button android:id="@+id/Button01" 
   android:layout_width="wrap_content" 
   android:layout_height="wrap_content" 
   android:text="Close" />

 </LinearLayout>