2010-12-27 10 views
5

मेरे पास दो प्रश्न हैंएंड्रॉइड: अलर्ट संवाद में प्रारूप फ़ॉन्ट

1) क्या कोई जानता है कि शैलियों को कैसे लागू करें या संवाद को अलर्ट करने के लिए स्वरूपण कैसे करें। मैं वर्तमान में Builder builder = new AlertDialog.Builder(this); का उपयोग करता हूं और सामग्री को सेट करने के लिए setMessage() विधि का उपयोग करता हूं।

2) साथ ही मैं जानना चाहता हूं कि लिंक द्वारा बनाए गए लिंक का रंग कैसे बदलें। मैं डिफ़ॉल्ट नीला रंग नहीं चाहता।

उत्तर

12

क्यू 1। आप को बढ़ाने के लिए या अनुकूलित और एक शैली बना सकते हैं और कैसे आप एक लेआउट बढ़ AlertDialog

यहाँ करने के लिए लागू करते हैं और 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); 

सभी स्वरूपण और लेआउट आपके द्वारा निर्दिष्ट में आवश्यक शैलियों को परिभाषित किया है।

आप विशिष्ट TextView लेआउट में परिभाषित का उपयोग कर सकते का उपयोग कर देखें अर्थात

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" का उपयोग लिंक के रंग को निर्दिष्ट करने के लिए किया जा सकता है।

संपादित करें:

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

अपने onCreate में() या या जहां जब भी आप 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); 
कॉल करना चाहते हैं:

नमूना लेआउट के रूप में रेस/लेआउट/link.xml बचाया आप किसी अन्य विधि से बुला रहे हैं, तो

संदर्भ वस्तु के साथ this बदलें।

+0

मैं कुछ संदेह है। Formatted_dialog लेआउट कैसे होगा? तो मुझे अपनी सामग्री कैसे जोड़नी चाहिए? और मुझे 'android: textColorLink' कहां निर्दिष्ट करना चाहिए? – Vivek

+0

नमूना जोड़ा गया। उम्मीद है कि यह आपको स्पष्ट विचार देगा। – Shardul

+0

क्या आप मुझे बता सकते हैं कि अलर्टडियलॉग –

3

आप डिफ़ॉल्ट alertDialog से TextView निकाल कर टाइपफेस और पाठ रंग बदलने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

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

हाय आनंद, मैंने आपके द्वारा कहा था लेकिन मैं यह नहीं समझ सकता कि मैं गलत कहां कर रहा हूं। मुझे ग्रेविटी सेट पर नलपॉन्टर अपवाद मिला .... मेरा कोड नीचे जैसा दिखता है: अलर्टडिअलॉग। बिल्डर बिल्डर = नया अलर्टडिअलॉग। बिल्डर (संदर्भ); builder.setIcon (0); builder.setTitle ("मेरा शीर्षक"); builder.set संदेश (संदेश); builder.setNeutral बटन ("ठीक है", शून्य); अलर्टडिअलॉग चेतावनी Dialog = builder.create(); alertDialog.show(); ((टेक्स्ट व्यू) alertDialog.findViewById (android.R.id.title))। सेट ग्रेविटी (ग्रेविटी.सीईंटर); ((टेक्स्ट व्यू) alertDialog.findViewById (android.R.id.message))। सेट ग्रेविटी (ग्रेविटी.सीईंटर); – Kalpesh

संबंधित मुद्दे