2012-11-20 16 views
6

के लिए एक निर्देशित दौरे बनाने के लिए कैसे कुछ महीने पहले मैं अपने आप को एक एचटीसी वन एक्स मैं प्रशंसा की वे जिस तरह से वे इंटरैक्टिव विजेट और मदद कार्यों के साथ फोन में अपना पहला कदम उठा में उपयोगकर्ता गाइड खरीदा है।एक Android आवेदन

मैं Rogerthat में कार्यक्षमता के इस प्रकार, एप्लिकेशन हम निर्माण कर रहे हैं जोड़ना चाहते हैं, लेकिन मुझे आश्चर्य है कि अगर वहाँ उपकरण/पुस्तकालयों मुझे इस लक्ष्य को हासिल मदद कर सकते हैं कर रहे हैं?

उत्तर

5

मुझे लगता है कि उपयोगकर्ता 4 टिप्पणी पृष्ठों पर ans निर्देश देखने के लिए अनुमति देता है मेरी अनुप्रयोग के लिए एक निर्देशित दौरे किया था।

public static void tour(final Context context, final String title, final int pageNumber, 
         final Drawable icon, final String[] pageMessage, final int[] layouts, final ViewGroup root) { 
    Builder tourDialog = new AlertDialog.Builder(context); 
    int nPage = 0; 


    if (pageMessage!=null){ 
     tourDialog.setMessage(pageMessage[pageNumber]); 
     nPage = pageMessage.length; 
    } 

    if (layouts!=null){   
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
     View layout1 = inflater.inflate(layouts[pageNumber], root); 
     tourDialog.setView(layout1); 
     //tourDialog.setView(views[pageNumber]); 
     nPage = layouts.length; 
    } 


    tourDialog.setTitle(title+" (page "+(pageNumber+1)+"/"+nPage+")"); 

    tourDialog.setPositiveButton("Prev", 
      new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int whichButton) { 
        tour(context, title, pageNumber-1, icon, pageMessage,layouts, root); 
        return; 
       } 
      }); 


    tourDialog.setNeutralButton("Next", 
      new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int whichButton) { 
        tour(context, title, pageNumber+1, icon, pageMessage,layouts, root); 
        return; 
       } 
      }); 
    tourDialog.setNegativeButton("Ok", 
      new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int whichButton) { 
        return; 
       } 
      }); 
    if (icon!=null) 
     tourDialog.setIcon(icon); 
    AlertDialog dialog = tourDialog.create(); 

    dialog.show(); 

    if (pageNumber==0) 
     dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false); 
    else if (pageNumber==nPage-1){ 
     dialog.getButton(AlertDialog.BUTTON_NEUTRAL).setEnabled(false); 
    } 
} 

उपयोग के उदाहरण::

int[] layout = {R.layout.note1, R.layout.note2, R.layout.note3, R.layout.note4}; //resource id of each page's layout 
tour(context, "Notes ", 0,getResources().getDrawable(R.drawable.gmpte_logo_25px),null, layout, (ViewGroup) findViewById(R.id.root)); 

और टिप्पणी पेज लेआउट का एक उदाहरण: यहाँ कोड है

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/root" 
    android:padding="10dip"> 

<TextView android:id="@+id/text_before" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textColor="#FFF" 
      android:textSize="16dp" 
      android:text="@string/note1_before_text" 
      android:layout_marginTop="10dp"/> 
<ImageView android:id="@+id/image" 
      android:contentDescription="@string/desc" 
      android:src="@drawable/mylocation_blue" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_toRightOf="@+id/text_before" 
      /> 
<TextView 
    android:id="@+id/text_after" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/text_before" 
    android:layout_below="@+id/image" 
    android:text="@string/note1_after_text" 
    android:textColor="#FFF" 
    android:textSize="16dp" /> 
</RelativeLayout> 

आप प्रत्येक नोट पेज के लिए अपने स्वयं के लेआउट लिखने की ज़रूरत है, लेकिन प्रत्येक पृष्ठ में रूट लेआउट के लिए एक ही आईडी (android:id="@+id/root") का उपयोग करें।

+1

मैं वास्तव में संवाद की तलाश नहीं कर रहा हूं लेकिन छोटे इंटरफ़ेस तत्वों को इंगित करने वाले तीर वाले छोटे सहायता ग्रंथों के लिए अधिक हूं। –

9

रोमन Nurik एक पुस्तकालय बात की इस तरह करने के लिए "जादूगर पेजर" कहा जाता है एक साथ रखा। यह संभवतः आप जो भी पूछ रहे हैं उसे करने के लिए इस्तेमाल किया जा सकता है।

https://plus.google.com/113735310430199015092/posts/6cVymZvn3f4

http://code.google.com/p/romannurik-code/source/browse/misc/wizardpager

अद्यतन:

मुझे लगता है कि यह भी आप के लिए उपयोगी हो सकता है। यह पहली बार आईसीएस + में स्टॉक एंड्रॉइड रोम चलाने पर दिखाए गए दौरे के समान है।

पुस्तकालय एंड्रॉयड के किसी भी संस्करण में इस्तेमाल किया जा सकता है:

https://github.com/Espiandev/ShowcaseView

प्रदर्शन किया जाता है, तो आप लगातार चाहते हैं तो आप इस expansio देख सकते हैं:

https://github.com/blundell/ShowcaseViewExample

Example

0

अपनी सहायता स्क्रीन दिखाने के लिए व्यूपेजर और एक टुकड़ा का उपयोग करें। आपको इसके बारे में बहुत सारी जानकारी मिल जाएगी।

3

Showcase View Library आप क्या चाहते हैं निश्चित रूप से है:

Show case view lib

+0

हैलो, आप कैसे ऊपर एक बटन पर एक "के प्रदर्शन के पुस्तकालय" सेट करूँ? – Simone

0

मैं छोटा पुस्तकालय एक एप्लिकेशन दौरे बनाने के लिए एक सरल घटक यही लिखा था। यह मेरे मामले के लिए बहुत ही सीमित है लेकिन शायद आपका मामला हो सकता है। एकल LessonCardView क्लिक किसी भी आलोचना, मदद या सलाह की सराहना की जाएगी पहली बार के लिए या बटन पर onstartactivity दिखाया। धन्यवाद https://github.com/dnocode/DnoLib