#android #android_fragment #dialogfragment
Имеется прозрачный DialogFragment.
public class TempFragment extends DialogFragment {
static TempFragment newInstance() {
TempFragment dialogFragment = new TempFragment();
return dialogFragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_block_dialog, container, false);
return v;
}
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
final Drawable drawable = new ColorDrawable(-15108398);
drawable.setAlpha(200);
dialog.getWindow().setBackgroundDrawable(drawable);
dialog.getWindow().requestFeature(android.view.Window.FEATURE_NO_TITLE);
return dialog;
}
@Override
public void onStart() {
super.onStart();
getDialog().getWindow().setLayout(1000, 1500);
}
}
Layout:
В этих строках:
getDialog().getWindow().setLayout(1000, 1500);
я хардкодингом расширяю DialogFragment, так как этого не сделать он получается очень
узкий. Как же правильно расширить DialogFrgment (не хардкодно) - чтобы он получился
такой же как в этом коде, то есть занимал почти весь экран, но оставляя рамки, как
и пристало нормальному Диалогу (с Title)).
Может делать так , как сам DialogFragment расширяет (когда Title не удаляется пользователем)?
Мне он нужен без титла, я его удаляю dialog.getWindow().requestFeature(android.view.Window.FEATURE_NO_TITLE);
при этом Dialog сужается по максимуму...
Ответы
Ответ 1
Можно получить размер экрана устройства и использовать его для размеров фрагмента Display display = getActivity().getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getSize(size); getDialog().getWindow().setLayout(size.x, size.y); Также можно показывать фрагмент в активити, для которого в манифесте:
Комментариев нет:
Отправить комментарий