Sto costruendo una custom DialogFragment
. Il layout della finestra di dialogo è impostato su my_dialog.xml
, ma come posso modificare il colore attorno alla finestra di dialogo (il grigio trasparente)?Come cambiare il colore di sfondo attorno a un DialogFragment?
my_dialog.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" >
<TextView
android:id="@+id/hello"
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@android:color/holo_orange_light"
android:gravity="center"
android:text="hello" />
</RelativeLayout>
MyDialogFragment.java
public class MyDialogFragment extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.my_dialog, container);
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
return view;
}
}
Funziona, grazie mille. Questa finestra di dialogo con il comportamento degli stili è davvero strana e poco chiara. –
Si noti che se si modifica 'windowBackground' in un colore, si perde lo stile predefinito della finestra DialogFragment con gli angoli arrotondati. Per preservare questo devi creare un rect drawable con il colore come sfondo (cioè il parametro solido) e utilizzare gli angoli con un valore raggio. –
come farlo nella classe Dialog? Voglio dire, estendo Dialog, non DialogFragment e non ho setStyle() ... – sasan