2013-05-27 13 views
5

Sto provando a rendere i tre elementi di questo AlertDialog verde. Il problema è che attualmente dietro lo schermo compare uno sfondo verde e due degli elementi non appaiono verdi. Io attualmente impostato lo stile del AlertDialog con questo codice:AlertDialog.Builder elemento colore di sfondo

final AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getActivity(), R.style.ListRow)); 

Nel mio styles.xml, ho questo stile:

<style name="ListRow"> 
    <item name="android:background">@color/forest_green</item> 
    <item name="android:textSize">18sp</item> 
    <item name="android:textColor">@color/dialog_text</item> 
</style> 

enter image description here

+0

Qual è il tuo problema con questo codice in ogni caso? –

+0

Non usare 'android: background su un * tema *. Tutto ciò che non definisce il suo background sarà verde. Che ne dici di "Android: buttonBarStyle" e "android: buttonBarButtonStyle" invece? –

+0

Puoi dare un'occhiata a questi tutorial: http://blog.supenta.com/2014/07/02/how-to-style-alertdialogs-like-a-pro/ e http://www.materialdoc.com/alerts/ – noongiya95

risposta

-1

Usa styles.xml come questo

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<style name="AlertDialogCustom" parent="@android:style/AlertDialog"> 
    <item name="android:textColor">#00FF00</item> 
    <item name="android:typeface">monospace</item> 
    <item name="android:textSize">10sp</item> 
</style> 

+3

hai provato prima di pubblicare? questo non viene nemmeno compilato ... – moonlightcheese

+0

Ho usato questo errore di acquisizione: errore: Errore nel recupero del genitore per l'articolo: Nessuna risorsa trovata che corrisponde al nome specificato '@android: style/AlertDialog'. –

0

è possibile impostare personalizzato visualizzare a livello di codice come questo modo ..

LayoutInflater inflater = getLayoutInflater(); 
View dialoglayout = inflater.inflate(R.layout.dialog_layout, (ViewGroup) getCurrentFocus()); 
AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setView(dialoglayout); 
builder.show(); 

creare dialog_layout.xml nei vostri layout con sfondo verde.

0

questo ha funzionato per me. tutti loro hanno uno sfondo.

final AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.ListRow)); 

builder.setIcon(android.R.drawable.ic_dialog_info).setTitle("welcome") 
     .setMessage("...") 
     .setPositiveButton("login", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) 
      { 
       Intent intent = new Intent(HomeActivity.this, LoginActivity.class); 
       startActivity(intent); 
      } 
     }).setNegativeButton("register", new DialogInterface.OnClickListener() { 
      @Override 
      public void onClick(DialogInterface dialog, int which) 
      { 
       Intent intent = new Intent(getApplicationContext(),RegisterActivity.class); 
       startActivity(intent); 
      } 
     }).show(); 
0

definire lo stile di dialogo con Theme.AppCompat.Dialog.Alert come genitore:

<style name="AlertDialog" parent="Theme.AppCompat.Dialog.Alert"> 
    <item name="android:background">@color/green</item> 
    ... 
</style> 

Fonte: http://www.materialdoc.com/alerts/