0

我使用以下布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:orientation="vertical" >
    <TextView
        android:id="@+id/dialog_text"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_margin="10dp"
        android:text="@string/dialog_title" />
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/dialog_text"
        android:layout_alignRight="@+id/dialog_text"
        android:layout_below="@+id/dialog_text"
        android:layout_marginTop="10dp" >
        <Button
            android:id="@+id/dialog_btn_yes"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:layout_weight="1"
            android:text="@string/yes" />
        <Button
            android:id="@+id/dialog_btn_no"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:layout_weight="1"
            android:text="@string/no" />
    </LinearLayout>
</RelativeLayout>

并应用以下样式:

<activity
    android:name="my.package.DialogActivity"
    android:configChanges="keyboardHidden|orientation"
    android:label="@string/dialog_title"
    android:theme="@android:style/Theme.Dialog" >
</activity>

在某些情况下(取决于dialog_text长度?),按钮会被裁剪。

是什么原因?怎么可能修好?

4

3 回答 3

2

随着<RelativeLayout>文本行的增加,下面的按钮被裁剪。最近我也遇到了这个问题。正如你TextView<RelativeLayout>. 写入或设置文本TextView<LinearLayout>数。这样按钮大小就不会裁剪。

onCreate()在你的活动课方法中试试这个 -

WindowManager.LayoutParams params = getWindow().getAttributes();  
params.x = -20;  
params.height = 100;  
params.width = 550;  
params.y = -10;  

this.getWindow().setAttributes(params);

您可以根据您的要求设置高度宽度。

于 2013-10-05T10:23:13.717 回答
1

不要为按钮设置底部边距。

于 2013-10-05T10:19:34.827 回答
1
// try this
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:gravity="center"
              android:orientation="vertical" >
    <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginTop="10dp"
            android:layout_weight="1">
        <TextView
                android:id="@+id/dialog_text"
                android:layout_width="250dp"
                android:layout_height="wrap_content"
                android:scrollbars="vertical"
                android:text="@string/dialog_title" />
    </LinearLayout>
    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp" >
        <Button
                android:id="@+id/dialog_btn_yes"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="@string/yes" />
        <Button
                android:id="@+id/dialog_btn_no"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="@string/no" />
    </LinearLayout>
</LinearLayout>
于 2013-10-05T10:47:57.643 回答