تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ رحیم محمودزاده
سوال خارج از موضوع جلسه - تغییر Theme با دو بار Event روی صفحه
پوریا شفیعی حل شده توسط پوریا شفیعی

سلام خسته نباشید 

من می‌خوام یک اپلیکیشن رو طراحی بکنم که وقتی کاربر 2بار روی صفحه کیلیک کرد تم برنامه تغییر بکنه.

من باید چه کدی بنویسم تا بفهمم که کاربر 2 بار روی صفحه کیلیک کرده؟؟؟

ممنون

سلام و احترام

 

این کار درستی نیست که شما بیایید وقتی کاربر روی صفحه نمایش Event ی(حال دو بار یا یک بار) انجام داد تم تغییر کند چرا که اگر کاربر روی Button ویا روی TextView و یا روی یک فضای خالی کلیک کند در اصل عمل انجام دادن یک event انجام میشودو تم تغییر میکند.

تغییر تم بر اساس زمان و یا گذاشتن یک چک باکس در فرگمنت setting روش هایی هستن که شما میتوانید پیاده سازی کنید.

 

اما اگر چه این راه حل راه درستی نیست ولی راهنمایی من به شما نسبت به دانش در حال حاظرتون

در ویوگروپ(root) مربوطه تون (مثلا : RelativeLayout) یک id ست کنید و عمل onClickListener بر روی اون فعال کنید  و یک شرط گذاشته که اگر counter عدد دو بود تم تغییر کند البته که در انتها وقتی تم تغییر کرد یادتون باشه که counter رو صفر کنید و سپس به عنوان یک boolean اون مقدار رو در sharedPref نگه داری کنید تا هنگامی که کاربر وارد اپلیکیشن شد بر اساس اون مقدار در sharedperf تم تغییر کند اگرچه باز هم این روش روشی درستی نیست و صرفا محض تمرین شما خدمتتون عرض میکنم ضمن اینکه روش‌های دیگه ای هم هستن ولی بر اساس دانش فعلی شما این مورد رو نوشتم 

 به عنوان مثال:

این اموزش هم که به صورت فارسی هست تغییر تم اپلیکیشن بدون reset شدن خدمت شما:

https://virgool.io/MobileLab/%D۸%A۲%D۹%۸۵%D۹%۸۸%D۸%B۲%D۸%B۴-%D۹%۸۸%DB%۸C%D۸%AF%D۸%A۶%D۹%۸۸%DB%۸C%DB%۸C-%D۹%BE%DB%۸C%D۸%A۷%D۸%AF%D۹%۸۷-%D۸%B۳%D۸%A۷%D۸%B۲%DB%۸C-%D۸%AA%D۹%۸۵-%D۸%AA%D۸%A۷%D۸%B۱%DB%۸C%DA%A۹-dark-%D۸%AF%D۸%B۱-%D۸%A۷%D۹%BE%D۹%۸۴%DB%۸C%DA%A۹%DB%۸C%D۸%B۴%D۹%۸۶-%D۹%۸۷%D۸%A۷%DB%۸C-%D۸%A۷%D۹%۸۶%D۸%AF%D۸%B۱%D۹%۸۸%DB%۸C%D۸%AF-qgcyujxvt۶zw

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:id="@+id/mainlayout">
 <!- Your other view->
</Relativelayout>
RelativeLayout root = findViewById(R.id.mainlayout);
 root.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
    }
 });

 

 

 

بهترین پاسخ
پوریا شفیعی ۱۵ آذر ۱۳۹۹، ۰۷:۴۷