我實現我自己的dialog.This是xml
- 代碼:對話框佈局不正確顯示
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.MainActivity"
android:gravity="center_vertical|center_horizontal"
android:background="#00ffffff">
<LinearLayout
android:orientation="vertical"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="#ad1457"
android:gravity="center"
android:layout_above="@+id/gameOptions_difficulty"
android:layout_alignLeft="@+id/gameOptions_difficulty"
android:layout_alignStart="@+id/gameOptions_difficulty"
android:id="@+id/gameOptions_title"
android:weightSum="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gamemode_title"
android:layout_gravity="center_horizontal"
android:textColor="#efebe9"
android:textSize="10pt"
android:padding="10dp"
android:layout_marginBottom="8dp" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="#ad1457"
android:id="@+id/gameOptions_difficulty"
android:layout_above="@+id/gameOptions_gameMode"
android:layout_alignLeft="@+id/gameOptions_gameMode"
android:layout_alignStart="@+id/gameOptions_gameMode"
android:baselineAligned="false"
android:minHeight="50dp"
android:padding="5dp"
android:gravity="center_horizontal"
android:weightSum="1">
<Button
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="Easy"
android:id="@+id/easy_button"
android:layout_marginLeft="8dp"
android:onClick="setDifficulty" />
<Button
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="Medium"
android:id="@+id/medium_button"
android:onClick="setDifficulty" />
<Button
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="Hard"
android:id="@+id/hard_button"
android:onClick="setDifficulty" />
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="300dp"
android:layout_height="169dp"
android:orientation="vertical"
android:gravity="center"
android:background="#ad1457"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/gameOptions_gameMode"
android:weightSum="3">
<Button
android:id="@+id/roundbased_button"
android:layout_width="200dp"
android:layout_height="50dp"
android:onClick="setGameMode"
android:text="@string/roundbased_game_text" />
<Button
android:layout_width="200dp"
android:layout_height="50dp"
android:text="@string/to_the_end_text"
android:onClick="setGameMode"
android:id="@+id/toTheEnd_button"
android:layout_gravity="center_horizontal" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="#ad1457"
android:layout_below="@+id/gameOptions_gameMode"
android:layout_alignLeft="@+id/gameOptions_gameMode"
android:layout_alignStart="@+id/gameOptions_gameMode"
android:id="@+id/gameOptions_footer">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/back_button_text"
android:id="@+id/back_button"
android:layout_weight="1"
android:onClick="clickExitButton" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ok_button_text"
android:id="@+id/ok_button"
android:layout_weight="1"
android:onClick="clickOkButton" />
</LinearLayout>
</RelativeLayout>
這裏是我創建對話框:
gameOptions = new Dialog(MainActivity.this);
gameOptions.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
gameOptions.setContentView(R.layout.dialog_gameoptions);
gameOptions.show();
在從Android Studio中的GUI生成器,我的佈局是這樣的:
但是,當我啓動我的手機(HTC一個M9)在我的應用程序,佈局看起來是這樣的:
如何我一定要改變我的佈局,它看起來像一個GUI Builder中?我錯過了什麼?謝謝!
PLZ分享您的Java代碼it –
看起來對話框不夠高,試着看看什麼決定了你的佈局的大小並修復它。 –
它沒有顯示,因爲沒有足夠的空間讓這些視圖因爲你使用了一些靜態值。創建不同的dimen文件根據您的要求放置值,並使用這些值不給出靜態dp值。 – kId