رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

پست های پیشنهاد شده

سلام 

من یه باتن نویگیشن با عنوان راهنما در برنامه دارم که تابع های مورد نیاز برای ایکنهایی که میخوام راهنما داشته باشه ایجاد کردم هر تابع موقع دیسمیز شدن تابع بعدی رو فراخوانی میکنه حالا یه مشکلی هست که موقع دکه برگشت دوباره به روال خودش ادامه میده و چرخه رو قطع نمیکنه و برنمیگرده به صفحه اصلی یه کدهایی برای چک کردن هم تو تابع ها و هم تو onbackpressed ایجاد کردم ولی عمل نمیکنه لطفا راهنمایی کنید این کدها 

void help() {
    showTapTarget=1;
    final SpannableString spannedDesc = new SpannableString("با کليک بر روي هر قسمت در اين صفحه توضيحات آن بخش داده مي شود.");
    TapTargetView.showFor(this, TapTarget.forView(findViewById(R.id.item_5), "راهنما", spannedDesc)
            .cancelable(true)
            .drawShadow(true)
            .dimColor(android.R.color.tab_indicator_text)
            .outerCircleColor(R.color.outerCircleColor)
            .targetCircleColor(R.color.targetCircleColor)
            .transparentTarget(true)
            .targetRadius(26)
            .outerCircleAlpha(0.96f)
            .titleTextSize(22)
            .descriptionTextSize(18)
            .descriptionTextColor(android.R.color.white)
            .textColor(android.R.color.white)
            .titleTextColor(android.R.color.white)
            .textColor(android.R.color.white)
            .textTypeface(Typeface.createFromAsset(getAssets(), "fonts/Yekan.ttf"))
            .tintTarget(false), new TapTargetView.Listener() {
        @Override
        public void onTargetClick(TapTargetView view) {
            super.onTargetClick(view);

        }

        @Override
        public void onOuterCircleClick(TapTargetView view) {
            super.onOuterCircleClick(view);
            view.dismiss(true);

        }

        @Override
        public void onTargetDismissed(TapTargetView view, boolean userInitiated) {
            super.onTargetDismissed(view, userInitiated);
            view.dismiss(userInitiated);
            if (showTapTarget == 1) {
                help_menu();
            }

        }

    });


}


void help_menu() {
    showTapTarget=1;
    final SpannableString spannedDesc = new SpannableString("با کليک بر روي اين آيکن وارد بخش اطلاعات مربوط به کاربري مي شويد و مي توانيد به تکميل اطلاعات خود بپردازيد.");
    TapTargetView.showFor(this, TapTarget.forView(findViewById(R.id.toolbarToggle), "منو", spannedDesc)
            .cancelable(true)
            .drawShadow(true)
            .dimColor(android.R.color.tab_indicator_text)
            .outerCircleColor(R.color.outerCircleColor)
            .targetCircleColor(R.color.targetCircleColor)
            .transparentTarget(true)
            .targetRadius(28)
            .outerCircleAlpha(0.96f)
            .titleTextSize(22)
            .descriptionTextSize(18)
            .descriptionTextColor(android.R.color.white)
            .textColor(android.R.color.white)
            .titleTextColor(android.R.color.white)
            .textColor(android.R.color.white)
            .textTypeface(Typeface.createFromAsset(getAssets(), "fonts/Yekan.ttf"))
            .tintTarget(false), new TapTargetView.Listener() {
        @Override
        public void onTargetClick(TapTargetView view) {
            super.onTargetClick(view);
            Log.d("lklk89hk", "onTargetClick");

        }

        @Override
        public void onOuterCircleClick(TapTargetView view) {
            super.onOuterCircleClick(view);
            view.dismiss(true);
            Log.d("lklk89hk", "onOuterCircleClick");

        }

        @Override
        public void onTargetDismissed(TapTargetView view, boolean userInitiated) {
            super.onTargetDismissed(view, userInitiated);
            view.dismiss(userInitiated);
            Log.d("lklk89hk", "onTargetDismissed");
            if (showTapTarget == 1) {
                help_wheelview();

            }
        }

        @Override
        public void onTargetCancel(TapTargetView view) {
            super.onTargetCancel(view);
            Log.d("lklk89hk", "onTargetCancel");
                view.dismiss();
        }
    });
}

اینم کد onbackpreessed

public void onBackPressed() {
   
    if (showTapTarget==1) {
        showTapTarget=0;
    }

  } else {
                super.onBackPressed();

        }

    }

}
لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...