我尝试使用以下代码显示AlertDialog:
final int requestLayout = R.layout.triprunning_pause;
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(requestLayout, null);
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(R.string.runningTrip_pause_title);
builder.setIcon(android.R.drawable.ic_media_pause);
builder.setView(layout);
dialog = builder.create();
dialog.show();
我将展示的XML如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:id="@+id/triprunning_pause_root">
<TextView android:id="@+id/questionText" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="@string/runningTrip_pause_text"
android:textSize="22sp" android:gravity="center_vertical|center_horizontal"
android:paddingBottom="5dp" />
<View android:id="@+id/buttons_helper" android:layout_width="0dp"
android:layout_height="0dp" android:layout_centerHorizontal="true" />
<Button android:id="@+id/continueButton" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="Fortsetzen"
android:layout_below="@id/questionText" android:layout_toLeftOf="@id/buttons_helper" />
<Button android:id="@+id/stopButton" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="Beenden"
android:layout_below="@id/questionText" android:layout_toRightOf="@id/buttons_helper" />
我得到的是:
screenshot http://img546.imageshack.us/img546/2057/devicef.png
我无法弄清楚,为什么拖曳按钮后面有这个黑色空间?有什么想法吗?
编辑:让它使用以下XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:id="@+id/triprunning_pause_root" android:orientation="vertical">
<TextView android:id="@+id/questionText" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="@string/runningTrip_pause_text"
android:textSize="22sp" android:gravity="center_vertical|center_horizontal"
android:paddingBottom="5dp" />
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button android:id="@+id/continueButton" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="Fortsetzen"
android:layout_below="@id/questionText" android:layout_toLeftOf="@id/buttons_helper"
android:layout_weight="1" />
<Button android:id="@+id/stopButton" android:layout_width="match_parent"
android:layout_height="wrap_content" android:text="Beenden"
android:layout_below="@id/questionText" android:layout_toRightOf="@id/buttons_helper"
android:layout_weight="1" />
</LinearLayout>
不是最好的解决方案,因为我有一个无意义的嵌套,但它有效...
答案 0 :(得分:0)
您是否尝试过使用android:layout_height =“wrap_content”进行相对布局?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:id="@+id/triprunning_pause_root">
答案 1 :(得分:0)
我使用LinearLayout来获取你想要的对话框。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/triprunning_pause_root">