Я использую фрагмент диалога в проекте, но клиент хотел, чтобы фон позади фрагмента диалога был размыт, когда фрагмент активен.Я использовал библиотеку BlurKit, которая добавляет этот эффект полупрозрачности от iOS, но, хотя он и не отстает от моего приложения, инфляция макета фрагмента диалога теперь немного медленнее, чтобы признать.По сути, устройство быстрого размытия происходит в главном действии, а затем сразу же отображается фрагмент диалога, но с задержкой около 0,8 секунды.Если отключить этот эффект размытия, фрагмент отображается почти мгновенно.
Я искал в Интернете решение и узнал об AsyncLayoutInflater, который относительно быстрее.Как я могу преобразовать свой код для этого асинхронного воздуходувки, чтобы увидеть, решает ли это небольшую задержку с размытостью.
public class ExpenseDialogFragment extends DialogFragment{
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.dialog_fragment_expense, container, false);
getViewReferences(view);
setCancelable(false);
return view;
}
@Override
public void onResume() {
super.onResume();
WindowManager.LayoutParams layoutParams = Objects.requireNonNull(
Objects.requireNonNull(getDialog()).getWindow()).getAttributes();
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT;
Objects.requireNonNull(getDialog().getWindow()).setAttributes(layoutParams);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
//stuff here
}