Ok я действительно путают здесь о том, как сделать пользовательский диалог должным образом с использованием новейших AppCompat v23.0.1 Вот несколько способовПравильный способ сделать диалог пользовательского материала с AppCompat 23+
Первый способ :
public class AddTipDialogFrag extends DialogFragment
{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
int title = getArguments().getInt("title");
AppCompatDialog dialogCompat = new AppCompatDialog(getActivity(), R.style.MyAlertDialogStyle);
dialogCompat.setTitle(title); //doesn't work btw
dialogCompat.setContentView(R.layout.add_tip_fragment);
return dialogCompat;
}
}
второй путь:
public class AddTipDialogFrag extends AppCompatDialogFragment
{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View view = inflater.inflate(R.layout.add_tip_fragment,container, false);
int title = getArguments().getInt("title");
getDialog().setTitle(title);
return view;
}
}
Оба пути, кажется, тот же самый результат. Лично я предпочитаю 1-й способ, но есть проблема с эффектом пульсации, где он вырезается, когда граница просмотра custem заканчивается, как вы можете видеть на рисунке ниже.
Является ли это ошибка? (Должно быть!) Могу ли я исправить это или я должен просто перейти ко второму пути? (Что отлично работает с эффектом пульсации). Каков наилучший подход между этими двумя способами, рассматривающими большинство библиотечных диалоговых библиотек, использует первый способ?
РЕДАКТИРОВКА: рябь на первом пути, похоже, больше не возникает, поэтому я все еще не уверен, что это правильный путь для этих двух.
Вы используете библиотеки поддержки совместимости приложений, а 'AppCompatDialogFragment' дает вам желаемое поведение, поэтому, я думаю, вы уже ответили на свой вопрос. –
Да, я думаю, 'AppCompatDialogFragment' работает так, как ожидалось, но я просто хотел узнать, какой лучший подход для таких диалоговых окон. Большинство библиотечных диалоговых библиотек используют первый способ. Вот почему я был немного скептически, но спасибо за ваш ответ – ThanosFisherman
Как добавить положительную и отрицательную кнопку в AppCompatDialogFragment? –