Как мне создать этот диалог "Новое событие"?
Я прочитал руководство по Android Dialog Design. Я хочу создать диалоговое окно в стиле "Новое событие" (ссылка ведет вас в этот раздел). Однако я не могу найти информацию об этом. Это тема или шаблон, или я должен вручную создать его? Я чувствую, что вижу это много, поэтому я надеялся, что это была какая-то тема или шаблон. Кто-нибудь использовал это раньше? Заранее спасибо.
РЕДАКТИРОВАТЬ: стиль, который я получаю, это полноэкранный характер, панель действий, заголовок и две кнопки (в этом случае отмена / сохранение)
РЕДАКТИРОВАТЬ 2: вот мой диалогфрагмент
public class Countdown extends DialogFragment {
public static final String COUNTDOWN_PREFS = "COUNTDOWN_PREFS";
private DatePicker datePicker;
private final Calendar calendar = Calendar.getInstance();
private final long MILLIS_PER_DAY = 60*60*24*1000;
private SimpleDateFormat dateFormat;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_countdown, container, false);
//setStyle(DialogFragment.STYLE_NORMAL, R.style.FullScreenDialog);
return v;
}
public interface CountdownDialogListener {
void onDialogPositiveClick(DialogFragment dialog);
void onDialogNegativeClick(DialogFragment dialog);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
ContextThemeWrapper context = new ContextThemeWrapper(getActivity(), android.R.style.Theme_Holo_Dialog_NoActionBar);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
return builder.setMessage("Test").setPositiveButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//((EnterPhoneNumberActivity)getActivity()).doPositiveClick();
}
}
)
.setNegativeButton("EDIT",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//((EnterPhoneNumberActivity)getActivity()).doNegativeClick();
}
}
).create();
}
@Override
public void onStart()
{
super.onStart();
int width = ViewGroup.LayoutParams.MATCH_PARENT;
int height = ViewGroup.LayoutParams.MATCH_PARENT;
getDialog().getWindow().setLayout(width, height);
}
}
1 ответ
Вы можете просто изменить тему в вашем AndroidManifest.xml
<activity
android:theme="@style/Theme.AppCompat.Light.Dialog"
android:name=".dialogAcitvity >
</activity>
Вы также можете использовать dialogFragment
Редактировать:
dialogFragment.java
@Override
public void onStart()
{
super.onStart();
int width = ViewGroup.LayoutParams.MATCH_PARENT;
int height = ViewGroup.LayoutParams.MATCH_PARENT;
getDialog().getWindow().setLayout(width, height);
}
Установить диалог на весь экран
Edit2:
MainActivity.java
FragmentManager fm = getSupportFragmentManager();
DialogFragment fragment = dialogFragment.newInstance();
fragment.setStyle(DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Light );
fragment.show(fm,TAG_dialog);
При установке в не диалоговом стиле он будет заполнен до полного экрана. Кажется, самый короткий путь.