我使用以下布局:
<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
长度?),按钮会被裁剪。
是什么原因?怎么可能修好?
答案 0 :(得分: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);
您可以根据需要设置高度宽度。
答案 1 :(得分:1)
请勿为按钮设置底部边距。
答案 2 :(得分: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>