我有一个android.support.v4.app.DialogFragment,当它显示时,高度是最大值,但是widht只是包装内容,我需要设置一个自定义高度,
我已经尝试过了:
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
getDialog().getWindow().setLayout(2000, 2000);
super.onViewCreated(view, savedInstanceState);
}
但结果始终相同
EDIT1
这是xml布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffff"
android:minHeight="10000dp"
android:minWidth="10000dp" >
.......content
</RelativeLayout>
EDIT2
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
view = inflater.inflate(R.layout.marche_charts, container, false);
WindowManager.LayoutParams wmlp = getDialog().getWindow().getAttributes();
wmlp.gravity = Gravity.CENTER;
wmlp.height = 2000;
wmlp.width = 2000;
getDialog().getWindow().setAttributes(wmlp);
return view;
}
答案 0 :(得分:1)
你需要覆盖onActivityCreated()方法并把这个getDialog()。getWindow()。setLayout(2000,2000);在那里
答案 1 :(得分:0)
将match_parent放在xml布局的宽度和高度上。
答案 2 :(得分:0)
在为DialogFragment创建视图(onCreateView方法)时使用setMinWidth。例如
final DisplayMetrics displaymetrics = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
view.setMinimumWidth((int) (Math.min(displaymetrics.widthPixels,
displaymetrics.heightPixels) * 0.9f));