次のように、カスタムダイアログフラグメントとそのxmlを作成しました。
<?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>
このダイアログを呼び出すと、スクリーンショットに示されているように全画面表示されます。
このダイアログのサイズをリストとボタンの高さに制限するにはどうすればよいですか?
余分な空白を削除するにはどうすればよいですか?
次のように、RelativeLayout
をLinearLayout
に変更し、リストのweight
を1に設定することで解決しました。
<?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>
下部の相対レイアウトにAndroid:layout_alignParentBottom="true"
を指定したので、親の相対レイアウトの高さは静的ではないため、画面の下部になります。
解決: