Reputation: 337
So I have designed a custom dialog box, and have added some code to try to make it work properly, but in the app the layout gets all skewed and removes some elements of the box. Here are some screenshots of the design vs. what it looks like in the app:
Design:
In the App:
This is the .xml
I have for my design
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorBackground2"
android:orientation="vertical">
<TextView
android:id="@+id/dialogTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_gravity="center"
android:layout_marginStart="120dp"
android:layout_marginLeft="120dp"
android:layout_marginTop="5dp"
android:text="Game Setup"
android:textColor="@color/White"
android:textSize="25sp"
android:textStyle="bold" />
<EditText
android:id="@+id/wagerText"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="56dp"
android:ems="10"
android:hint="$0.00"
android:inputType="numberDecimal"
android:textColor="@color/White"
android:textSize="24sp" />
<TextView
android:id="@+id/wagerInput"
android:layout_width="60dp"
android:layout_height="27dp"
android:layout_below="@+id/dialogTitle"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="165dp"
android:layout_marginLeft="165dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="154dp"
android:layout_marginRight="154dp"
android:text="Wager"
android:textColor="@color/White"
android:textSize="18sp" />
<TextView
android:id="@+id/bestofText"
android:layout_width="77dp"
android:layout_height="28dp"
android:layout_below="@+id/dialogTitle"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="163dp"
android:layout_marginLeft="163dp"
android:layout_marginTop="69dp"
android:layout_marginEnd="139dp"
android:layout_marginRight="139dp"
android:text="Best Of"
android:textColor="@color/White"
android:textSize="18sp" />
<Space
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/dialogTitle"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/option1"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_below="@+id/bestofText"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="81dp"
android:layout_marginLeft="81dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="268dp"
android:layout_marginRight="268dp"
android:background="@drawable/my_button_bg"
android:text="1" />
<Button
android:id="@+id/option5"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_below="@+id/bestofText"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="202dp"
android:layout_marginLeft="202dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="147dp"
android:layout_marginRight="147dp"
android:background="@drawable/my_button_bg"
android:text="5" />
<Button
android:id="@+id/option7"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_below="@+id/bestofText"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="265dp"
android:layout_marginLeft="265dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="84dp"
android:layout_marginRight="84dp"
android:background="@drawable/my_button_bg"
android:text="7" />
<Button
android:id="@+id/option3"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_below="@+id/bestofText"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginStart="142dp"
android:layout_marginLeft="142dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="207dp"
android:layout_marginRight="207dp"
android:background="@drawable/my_button_bg"
android:text="3" />
<Button
android:id="@+id/declineButton"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_below="@+id/option3"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginTop="16dp"
android:layout_marginEnd="25dp"
android:layout_marginRight="25dp"
android:background="@color/colorLightTan"
android:text="DECLINE" />
<Button
android:id="@+id/acceptButton"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_below="@+id/option3"
android:layout_alignEnd="@+id/dialogTitle"
android:layout_alignRight="@+id/dialogTitle"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="23dp"
android:layout_marginLeft="23dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="85dp"
android:layout_marginRight="85dp"
android:layout_marginBottom="5dp"
android:background="@color/colorCoral"
android:text="ACCEPT" />
</RelativeLayout>
And this is the code, I have added to the app to make it appear when you click a button:
LayoutInflater factory = LayoutInflater.from(FlipCoinLobby.this);
View DialogView = factory.inflate(R.layout.dialogbox, null);
final Dialog d = new Dialog(FlipCoinLobby.this);
d.setContentView(DialogView);
d.show();
I have looked at some other similar issues, but none of the solutions seem to work for my particular problem. Any help?
Upvotes: 3
Views: 1018
Reputation: 164
final Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.enter_quantity_dialog);
Window window = dialog.getWindow();
window.setLayout(AbsListView.LayoutParams.MATCH_PARENT, AbsListView.LayoutParams.WRAP_CONTENT);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
Upvotes: 4