I have created a custom dialog fragment and its xml as follows:
<?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:layout_margin="5dp"
android:padding="5dip" >
<ListView
android:id="@+id/product_list"
android:background="@drawable/border_details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<RelativeLayout
android:id="@+id/AddtoCart"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginTop="10dp"
android:background="#005959" >
<Button
android:id="@+id/button_addToCart"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/gradient_button"
android:layout_marginTop="2dp"
android:layout_marginBottom="2dp"
android:text="@string/add_to_cart"
android:textColor="#000000" />
</RelativeLayout>
</RelativeLayout>
When I call this Dialog, it is taking full screen as provided in the screenshot:
How do I restrict the size of this Dialog to the height of the list and the button?
How do I remove the excess white space?
Solved by changing RelativeLayout
to LinearLayout
and setting weight
of list to 1
as follows
<?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:layout_margin="5dp"
android:orientation="vertical"
android:padding="5dip" >
<ListView
android:id="@+id/product_list"
android:background="@drawable/border_details"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<RelativeLayout
android:id="@+id/AddtoCart"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginTop="10dp"
android:background="#005959" >
<Button
android:id="@+id/button_addToCart"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginBottom="2dp"
android:layout_marginTop="2dp"
android:background="@drawable/gradient_button"
android:text="@string/add_to_cart"
android:textColor="#000000" />
</RelativeLayout>
</LinearLayout>
You have given android:layout_alignParentBottom="true"
for the bottom Relative layout so it will take the screen's bottom since the parent relative layout's height is not static.
solution:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With