Próbuję pokazać prawie pełny ekran DialogFragment. Ale jakoś nie jestem w stanie tego zrobić.
Sposób, w jaki pokazuję fragment, pochodzi bezpośrednio z dokumentacji programisty Androida
FragmentManager f = ((Activity)getContext()).getFragmentManager();
FragmentTransaction ft = f.beginTransaction();
Fragment prev = f.findFragmentByTag("dialog");
if (prev != null) {
ft.remove(prev);
}
ft.addToBackStack(null);
// Create and show the dialog.
DialogFragment newFragment = new DetailsDialogFragment();
newFragment.show(ft, "dialog");
Wiem, że naiwnie próbowałem ustawić RelativeLayout we fragmencie na fill_parent i trochę minWidth i minHeight.
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="1000px"
android:minHeight="600px"
android:background="#ff0000">
Wiedziałbym, że spodziewam się, że DialogFragment wypełni większość ekranu. Ale wydaje mi się, że zmieniam rozmiar tylko w pionie, ale tylko do pewnej stałej szerokości w poziomie.
Próbowałem też ustawić atrybuty okna w kodzie, jak zasugerowałem tutaj: http://groups.google.com/group/android-developers/browse_thread/thread/f0bb813f643604ec . Ale to też nie pomogło.
Prawdopodobnie nie rozumiem czegoś o tym, jak Android obsługuje dialogi, ponieważ jestem w tym zupełnie nowy. Jak mogę zrobić coś takiego? Czy są jakieś alternatywne sposoby osiągnięcia celu?
Urządzenie z systemem Android:
Asus EeePad Transformer
Android 3.0.1
Aktualizacja: udało mi się teraz wyświetlić go na pełnym ekranie, z następującym kodem we fragmencie
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NO_FRAME, android.R.style.Theme_Holo_Light);
}
Niestety, nie bardzo chcę tego. Zdecydowanie potrzebuję małego „wypełnienia” wokół okna dialogowego, aby wyświetlić tło.
Jakieś pomysły, jak to osiągnąć?