【问题标题】:DialogFragment FEATURE_NO_TITLE is shrunkDialogFragment FEATURE_NO_TITLE 被缩小
【发布时间】:2014-12-02 03:44:55
【问题描述】:

我显示的是DialogFragment。我毫无问题地实现了它,直到我决定使用getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE); 删除标题。这样做之后,整个事情就缩小了。这是我的 xml 和类文件。

<?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;
    }
}

我错过了什么?

【问题讨论】:

  • 只要设置布局的最小宽度就可以了
  • 但是它总是有那个宽度。我希望片段适应内容而不是固定宽度
  • 你的主布局宽度无论如何都设置为match-parent,所以它永远不会是内容宽度/高度的大小
  • 哦,但它是!当我将标题留给Dialog 时,一切正常并且大小适应内容,问题出在我删除标题时。无论如何感谢您的建议
  • 我遇到了确切的问题。 @CarlosJ,你能正确处理它吗?

标签: android android-dialogfragment


【解决方案1】:

在你的 onCreate() 中设置样式,这有助于我没有缩小没有标题的对话框。

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

    setStyle(DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Holo_Light_Dialog_NoActionBar_MinWidth);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    相关资源
    最近更新 更多