指定FEATURE_NO_TITLE后,DialogFragment宽度缩小

时间:2013-12-12 17:37:13

标签: android android-fragments dialog android-support-library

所以这是我的onCreateView方法:

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

布局本身是一个带

的LinearLayout
<?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="match_parent"

由于某种原因,在添加行getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);后,对话框缩小以包装内容;实际上,其中一个TextView被强制将其一行包装成两行。 我希望Dialog填充屏幕的宽度,保存一些我指定的边距。

3 个答案:

答案 0 :(得分:21)

使用此行并且它将是全宽的,无论孩子如何:

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

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

主题声明中的关键是NoActionBar_MinWidth

答案 1 :(得分:15)

我解决了这个问题,但我不喜欢问题或解决方案的原因。

问题在于,其中一个儿童观点是

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

将其更改为

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"

做了这个伎俩。

答案 2 :(得分:-2)

将根视图的minWidth属性设置为1000dp。