2

I'm displaying a DialogFragment. I implemented it with no problems, until I decided to remove the title using getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);.After doing that the whole thing shrinks. Here are my xml and class files.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:background="@color/white"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/activity_vertical_margin">

    <TextView
        android:id="@+id/product_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/red"
        android:textSize="20sp"
        android:text="@string/client_name_hint"/>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="100"
        android:layout_marginTop="@dimen/activity_vertical_margin"
        android:layout_marginBottom="@dimen/activity_vertical_margin"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/product_image"
            android:layout_width="0dp"
            android:layout_weight="50"
            android:layout_height="match_parent"/>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_weight="50"
            android:layout_height="match_parent"
            android:orientation="vertical">

            <TextView
                android:id="@+id/product_price"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:gravity="center_vertical"
                android:textColor="@color/red"
                android:textSize="30sp"
                android:textStyle="bold"
                android:text="$349.00"/>

            <TextView
                android:id="@+id/product_color"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textStyle="bold"
                android:textSize="20sp"
                android:text="Color: White"/>

        </LinearLayout>

    </LinearLayout>

    <TextView
        android:id="@+id/product_description"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/activity_vertical_margin"
        android:background="#aaada9"
        android:text="Text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:layout_marginTop="@dimen/activity_vertical_margin"
        android:layout_gravity="right"
        android:gravity="center_vertical"
        android:drawableRight="@android:drawable/ic_input_add"
        android:textColor="@color/red"
        android:text="@string/buy"/>

</LinearLayout>




public class ProductsDetailFragment extends DialogFragment {

    public static final String TAG = "products_detail";

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_product_detail, container, false);
        getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
        return view;
    }
}

What am I missing?

Carlos J
  • 2,965
  • 4
  • 17
  • 28
  • 1
    just set a minimum width of the layout then you will be fine – tyczj Aug 13 '14 at 16:45
  • But then it will always have that width. I want for the Fragment to adapt to the content rather than having a fixed width – Carlos J Aug 13 '14 at 16:50
  • your main layout width is set to `match-parent` anyway so it would never be the size of the content width/height anyway – tyczj Aug 13 '14 at 16:52
  • Oh but it is! When I leave the title to the `Dialog` everything works perfectly and the size adapts to the content, the problem is when I remove the title. Thanks for the suggestion anyway – Carlos J Aug 13 '14 at 16:55
  • I'm having the exact issue. @CarlosJ, were you ever able to correctly deal with it? – Nii Laryea Nov 19 '14 at 10:23
  • @NiiLaryea, unfortunately I had to go with a fixed width – Carlos J Nov 19 '14 at 19:39

1 Answers1

10

Set style in your onCreate(), this helps me to have not shrunk dialog without title.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setStyle(DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Holo_Light_Dialog_NoActionBar_MinWidth);
}
dimetil
  • 3,851
  • 2
  • 29
  • 47