Cómo cambiar el color del tema del diálogo de fragmentos predeterminado

He mostrado un fragmento de diálogo. Lo he hecho, pero quiero cambiar de fondo (tema) de color gris a blanco.

Introduzca aquí la descripción de la imagen Mi código de diálogo:

public class TestDialog extends DialogFragment { public static TestDialog newInstance() { return new TestDialog(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setStyle(DialogFragment.STYLE_NORMAL, R.style.MyDialog); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return container; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); //setStyle(DialogFragment.STYLE_NORMAL, R.style.MyDialog); LayoutInflater inflater = getActivity().getLayoutInflater(); builder.setView(inflater.inflate(R.layout.dailog_fragment, null)) .setPositiveButton("Ok", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { } }) .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { TestDialog.this.getDialog().cancel(); } }); return builder.create(); } 

}

3 Solutions collect form web for “Cómo cambiar el color del tema del diálogo de fragmentos predeterminado”

Tengo la solución:

Estoy usando debajo del tema del estilo para fijar el color de fondo blanco.

 <style name="MyFragment"> <item name="android:windowFrame">@null</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowTitleStyle">@null</item> <item name="android:colorBackground">@android:color/white</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> <item name="android:backgroundDimEnabled">true</item> </style> 

También podemos usar Holo Theme

 AlertDialog.Builder builder = new AlertDialog.Builder(ProfileEditActionBar.this, AlertDialog.THEME_HOLO_LIGHT); 

utilizar esta

 setStyle(DialogFragment.STYLE_NO_TITLE, R.style.MyDialog); 

Y luego crear el estilo MyDialog personalizado.

 <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="MyDialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowBackground">@color/orange_transparent</item> <item name="android:windowIsFloating">false</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowTitleStyle">@null</item> <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> <item name="android:gravity">center</item> </style> </resources> 

Tenga en cuenta que debe estar en style.xml .

En el archivo de manifiesto, la definición de actividad de la actividad de diálogo, agregue el atributo android:theme como sigue.

 <activity android:name=".YourActivityName" android:theme="@styles/style" /> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.