2010-12-27 16 views
5

tengo dos preguntasAndroid: Formato de fuente de Alerta de diálogo

1) ¿Alguien sabe cómo aplicar estilos o formato para alertar de diálogo. Actualmente uso Builder builder = new AlertDialog.Builder(this); Y uso el método setMessage() para establecer el contenido.

2) También me gustaría saber cómo cambiar el color de los enlaces creados por linkify. No quiero el color azul predeterminado.

Respuesta

12

Q1. Usted tiene que inflar o personalizar y crear un estilo y se aplican a AlertDialog

He aquí cómo se infla un diseño y aplicarlo a 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); 

definir todos los estilos y formato requeridos en el diseño que ha especificado.

Puede acceder TextView específico definido en el diseño utilizando inflado Ver decir

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" se puede utilizar para especificar el color del enlace.

EDIT:

Muestra de diseño guardado como res/layout/link.xml:

<?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> 

En su onCreate(), o cuando o cada vez que desea llamar 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); 

reemplazar this con el objeto de contexto si está llamando desde algún otro método.

+0

tengo algunas dudas. ¿Cómo será el diseño formatted_dialog? Entonces, ¿cómo debo agregar mi contenido? ¿Y dónde debería especificar 'android: textColorLink'? – Vivek

+0

Muestra añadida. Espero que esto te dé una idea clara. – Shardul

+0

me puede decir, cómo usar el tipo de letra en AlertDialog –

3

puede utilizar siguiente código para cambiar tipo de letra y color de texto mediante la extracción de Vista de Texto por defecto alertDialog:

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

Hola Anand, intenté como dijo usted pero no puedo entender que estoy haciendo mal. Obtuve la excepción NullPointerException en Gravity .... Mi código es similar a lo siguiente: AlertDialog.Builder builder = new AlertDialog.Builder (context); builder.setIcon (0); builder.setTitle ("Mi título"); builder.setMessage (msg); builder.setNeutralButton ("Ok", nulo); 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

Cuestiones relacionadas