2011-01-15 13 views
9

ठीक है, मेरे पास एक एक्सएमएल लेआउट के साथ एक प्राथमिकता गतिविधि सेट है। यहां मेरे पास कुछ प्राथमिकताएं हैं जो कुछ संवाद खोलती हैं। इन प्राथमिकताओं पर मैं स्क्रीनशॉट की तरह उनके दाईं ओर एक तीर रखना चाहता हूं। मैं यह कैसे करता हूं, थीम से संबंधित कुछ है? पहला स्क्रीनशॉट यह है कि मैं कैसे देखना चाहता हूं, दूसरा मेरे पास अब है।वरीयता स्क्रीन थीम को इस तरह दिखने के लिए कैसे अनुकूलित करें?

http://img545.imageshack.us/i/screenshot1zlk.png/

http://img405.imageshack.us/i/tsc3.png/

+0

यह विषय है कि दोनों के बीच उपकरण निर्माताओं भिन्न हो सकते हैं में कुछ। मेरे पास ऐसे डिवाइस हैं जो इस तीर को तरफ दिखाते हैं और अन्य जो एक ही ऐप के साथ नहीं करते हैं। –

+0

यह हो सकता है कि मेरे डिवाइस पर इन दोनों भिन्नताओं को चलाया जा सके, मेरे पास तीर वाला एक प्रोग्राम है, और इसके बिना कोई दूसरा। – Alex

+1

आप वरीयता स्क्रीन (और संबंधित) को उपclass कर सकते हैं और अपनी इच्छानुसार कुछ भी कर सकते हैं, लेकिन मैं तर्क दूंगा कि आपको ऐसा नहीं करना चाहिए। वरीयताओं के साथ विचार यह है कि वे विभिन्न ऐप्स में वर्दी दिखते हैं। और, सिर्फ इसलिए कि कुछ ऐप्स पहले से ही कर रहे हैं इसका मतलब यह नहीं है कि यह एक अच्छा विचार है। –

उत्तर

0

यह Preference के प्रकार पर निर्भर करता है। एक सामान्य "पसंद" प्रकार खाली दिखाई देगा, एक CheckBoxPreference स्वाभाविक रूप से एक CheckBox है, और क्या आप में रुचि रखते हैं के लिए, DialogPreference (और बच्चे) तीर है: http://developer.android.com/reference/android/preference/DialogPreference.html

21

अपनी पसंद गतिविधि आप सेट कर सकते हैं में जो कुछ भी आप प्रत्येक प्राथमिकताएं "widget_layout" में दिखाना चाहते हैं तो तरह (शीर्षक/सारांश के अधिकार के लिए क्षेत्र):

एक्सएमएल के माध्यम से:

<Preference 
android:key="Settings_CustomBG" 
android:title="@string/Custom_BG" 
android:widgetLayout="@layout/ic_custom" 
/> 

या प्रोग्राम के:

Preference BGColor = findPreference("Setting_BG_Color"); 
    BGColor.setWidgetLayoutResource(R.layout.ic_custom); 

ic_custom.xml (/ लेआउट में) कहां है:

<?xml version="1.0" encoding="utf-8"?> 
<ImageView 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:src="@drawable/ic_custom" 
/> 

और ic_custom संसाधन फ़ोल्डर (ओं) में सिर्फ एक छवि फ़ाइल है। मेरे मामले में यह निम्नलिखित की तरह दिखता है:

example of custom widget layout in an android preference

+0

बाईं तरफ के बारे में क्या? यह इस तरह से करना संभव है? –

+2

@ NunoGonçalves जो वास्तव में बहुत आसान है। बस एंड्रॉइड का उपयोग करें: आइकन। <पसंद एंड्रॉयड: आइकन = "@ drawable/facebook_icon" एंड्रॉयड: key = "facebook_main" एंड्रॉयड: सारांश = "@ स्ट्रिंग/main_facebook_text" एंड्रॉयड: title = "@ स्ट्रिंग/main_facebook_title" /> – slinden77

+0

भी है रनटाइम पर ImageView तक पहुंचने के लिए संभव है? – Giuseppe

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