2010-12-27 15 views
5

İki sorum varAndroid: Uyarı İletişim Kutusunda Biçimlendir Yazı Tipi

1) Tanıdıklarını bildirmek için stilleri veya biçimlendirmeyi nasıl uygulayacağını bilen var mı? Şu anda Builder builder = new AlertDialog.Builder(this); kullanmak Ve oranını ayarlamaya setMessage() yöntemini kullanın.

2) Ayrıca ben Linkify yarattığı bağlantıların rengini değiştirmek için nasıl bilmek istiyorum. Varsayılan mavi rengi istemiyorum.

cevap

12

S1. Sen şişirmek veya özelleştirmek ve bir stil oluşturmak ve bir düzen şişirmek nasıl AlertDialog

İşte için geçerli ve

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); 

tüm biçimlendirme ve belirtilen düzende gerekli stilleri tanımlamak AlertDialog

uygulamak zorundayız.

Sen düzeninde tanımlanan belirli TextView erişebilir Görünüm yani

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 şişirilmiş kullanarak. android:textColorLink="#FF00FF", bağlantı rengini belirtmek için kullanılabilir.

DÜZENLEME: En onCreate yılında

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

() ya da nerede veya

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); 
AlertDialog çağırmak istediğinizde:

Numune düzeni res/düzen/link.xml olarak kaydedilmiş Eğer başka bir yöntemle arayacaklar için

bağlam nesnesi ile this değiştirin.

+0

Bazı şüphelerim var. Formatted_dialog düzeni nasıl olacak? O zaman içeriğimi nasıl eklemeliyim? Ve nerede android: textColorLink' belirtmeliyim? – Vivek

+0

Örnek eklendi. Umarım bu size net bir fikir verecektir. – Shardul

+0

bana AlertDialog –

3

varsayılan AlertDialog dan TextView çıkararak yazı tipini ve Metin rengini değiştirmek için aşağıdaki kodu kullanabilirsiniz:

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

Merhaba Anand'ı nasıl kullanabileceğinizi söyler misiniz? Sizin tarafınızdan söylenenleri denedim ama yanlış yaptığım yeri anlayamıyorum. Gravity sette NullPointerException var .... Kodum aşağıdaki gibi görünüyor: AlertDialog.Builder builder = new AlertDialog.Builder (context); builder.setIcon (0); builder.setTitle ("Başlığım"); builder.setMessage (msg); builder.setNeutralButton ("Tamam" 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