Create Fragment full screen dialog
Create class with name BookDetailViewDialogFragment.java
package com.happy.ebookreader; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import com.google.android.material.textview.MaterialTextView; import com.happy.ebookreader.home.Books; import com.happy.ebookreader.utils.SessionManager; import androidx.annotation.Nullable; import androidx.fragment.app.DialogFragment; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; public class BookDetailViewDialogFragment extends DialogFragment { @BindView(R.id.tvDescription) MaterialTextView tvDescription; SessionManager sm; Books bean; public BookDetailViewDialogFragment() { // Empty constructor is required for DialogFragment // Make sure not to add arguments to the constructor // Use `newInstance` instead as shown below } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.dialog_book_details, container); ButterKnife.bind(this, view); return view; } @Override public void onResume() { // Get existing layout params for the window ViewGroup.LayoutParams params = getDialog().getWindow().getAttributes(); // Assign window properties to fill the parent params.width = WindowManager.LayoutParams.MATCH_PARENT; params.height = WindowManager.LayoutParams.MATCH_PARENT; getDialog().getWindow().setAttributes((android.view.WindowManager.LayoutParams) params); // Call super onResume after sizing super.onResume(); } public static BookDetailViewDialogFragment newInstance(Books book) { BookDetailViewDialogFragment frag = new BookDetailViewDialogFragment(); frag.setStyle(DialogFragment.STYLE_NORMAL, R.style.Dialog_FullScreen); Bundle args = new Bundle(); args.putParcelable("book", book); frag.setArguments(args); return frag; } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); assert getArguments() != null; bean = getArguments().getParcelable("book"); sm = new SessionManager(getActivity()); /*dialogArea.setOnKeyListener(new Dialog.OnKeyListener() { @Override public boolean onKey(DialogInterface arg0, int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == KeyEvent.KEYCODE_BACK) { dialogArea.dismiss(); } return true; } });*/ } @OnClick({R.id.imgClose}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.imgClose: dismiss(); break; } } }Open fragment from your activity using below code
FragmentManager fm = getSupportFragmentManager();
BookDetailViewDialogFragment editNameDialogFragment = BookDetailViewDialogFragment.newInstance(book);
editNameDialogFragment.show(fm, "fragment_edit_name");
Comments
Post a Comment