2010-12-27 9 views
5

Ich habe zwei FragenAndroid: Format Schriftart in Alert-Dialog

1) Weiß jemand, wie man Stile oder Formatierung auf Warndialog anwenden. Ich verwende derzeit Builder builder = new AlertDialog.Builder(this); Und verwenden Sie setMessage() Methode, um den Inhalt festzulegen.

2) Auch ich würde gerne wissen, wie man die Farbe der Links ändert, die von linkify erstellt werden. Ich möchte keine blaue Standardfarbe.

Antwort

12

Q1. Sie haben aufzublasen oder anpassen und einen Stil zu erstellen und zu Alertdialog

Heres anwenden, wie Sie ein Layout aufblasen und es auf Alertdialog

LayoutInflater li = LayoutInflater.from(ctx); 
View view = li.inflate(R.layout.formatted_dialog, null); 

AlertDialog.Builder builder = new AlertDialog.Builder(ctx); 
builder.setTitle("Formatted"); 
builder.setView(view); 

definieren alle Formatierungen und Stile im Layout erforderlich Sie angegeben haben.

können Sie bestimmte Textview Zugriff im Layout definiert über Ansicht aufgeblasen heißt

LayoutInflater li = LayoutInflater.from(ctx); 
View view = li.inflate(R.layout.formatted_dialog, null); 
TextView label=(TextView)view.findViewById(R.id.i_am_from_formatted_layout_lable); 

Q2. android:textColorLink="#FF00FF" kann verwendet werden, um die Farbe der Verbindung anzugeben.

EDIT:

Beispielanordnung als res/layout/link.xml gespeichert:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <TextView 
    android:id="@+id/text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="http://www.google.com" 
    android:autoLink="web" 
    android:textColorLink="#FF00FF" 
    /> 

</LinearLayout> 

In Ihrem onCreate() oder wo oder wann immer Sie anrufen möchten Alertdialog

LayoutInflater li = LayoutInflater.from(this); 
View view = li.inflate(R.layout.link, null); 

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setTitle("Formatted"); 
builder.setView(view).create().show(); 
TextView text=(TextView) findViewById(R.id.text); 

ersetzen Sie this mit Kontextobjekt, wenn Sie von einer anderen Methode aufrufen.

+0

ich einige Zweifel haben. Wie wird das formatierte_Dialog-Layout aussehen? Wie sollte ich meinen Inhalt hinzufügen? Und wo soll ich 'android: textColorLink' angeben? – Vivek

+0

Probe hinzugefügt. hoffe das wird dir eine klare Vorstellung geben. – Shardul

+0

können Sie mir sagen, wie Schriftart in AlertDialog –

3

können Sie folgenden Code verwenden, um Schriftart und Schriftfarbe zu ändern, indem Sie Textview von Standard-Alertdialog Extrahieren:

TextView txtAlertMsg = (TextView)alert.findViewById(android.R.id.message); 
txtAlertMsg.setGravity(Gravity.CENTER); 
+1

Hallo Anand, ich versuchte, wie von Ihnen gesagt, aber ich kann nicht herausfinden, wo ich falsch mache. Ich habe NullPointerException bei Gravity gesetzt .... Mein Code sieht wie folgt aus: AlertDialog.Builder builder = new AlertDialog.Builder (context); builder.setIcon (0); builder.setTitle ("Mein Titel"); builder.setMessage (msg); builder.setNeutralButton ("Ok", null); AlertDialog alertDialog = builder.create(); alertDialog.show(); ((TextView) alertDialog.findViewById (android.R.id.title)). SetGravity (Gravity.CENTER); ((TextView) alertDialog.findViewById (android.R.id.message)). SetGravity (Gravity.CENTER); – Kalpesh