मुझे लगता है कि उपयोगकर्ता 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"
) का उपयोग करें।
मैं वास्तव में संवाद की तलाश नहीं कर रहा हूं लेकिन छोटे इंटरफ़ेस तत्वों को इंगित करने वाले तीर वाले छोटे सहायता ग्रंथों के लिए अधिक हूं। –