مبلغی انتخاب کنید :




×
آموزش اضافه کردن هک Smooth Scrolling
آيا ميدانيد؟
کاربر ویژه شوید !

شارژ موبايل تبلیغات

^ Back to Top
اطلاع رسانی های سیاره پی دی ای
دسترسی به بخش کاربری سیاره پی دی ای
مشخصات گوشی موردنظر خود را بصورت زنده ببینید!
نمایش نتایج: از 1 به 1 از 1

موضوع: آموزش اضافه کردن هک Smooth Scrolling

  1. Top | #1


    تاریخ عضویت
    May 2012
    عنوان کاربر
    مدیر ارشد انجمن
    شماره عضويت
    6
    محل سکونت
    بوشهر
    نوشته ها
    2,374
    می پسندم
    1,573
    سپاس از شما
    8,720 بار در 2,214 پست
    اپراتور
    Iran
    مدال ها

    مدال اول مدال دوم مدال سوم مدال چهارم مدال پنجم
    اطلاعات کامپیوتر
    میزان امتیاز
    365

    آموزش اضافه کردن هک Smooth Scrolling

    این هک بر روی framework.jar انجام میگیرد.

    هدف: روان شدن اسکرولینگ در برنامه ها

    1- framework.jar را دیکامپایل کنید.

    2- فایل زیر را باز کنید:
    کد:
    android/widget/AbsListView.smali
    3- به دنبال متد زیر بگردید
    کد:
    .method private createScrollingCache()V
        .registers 3
    
        const/4 v1, 0x1
    
        iget-boolean v0, p0, Landroid/widget/AbsListView;->mScrollingCacheEnabled:Z
    
        if-eqz v0, :cond_11
    
        iget-boolean v0, p0, Landroid/widget/AbsListView;->mCachingStarted:Z
    
        if-nez v0, :cond_11
    
        invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setChildrenDrawnWithCacheEnabled(Z)V
    
        invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setChildrenDrawingCacheEnabled(Z)V
    
        iput-boolean v1, p0, Landroid/widget/AbsListView;->mCachingStarted:Z
    
        :cond_11
        return-void
    .end method
    و آنرا به شکل زیر تغییر دهید:

    کد:
    .method private createScrollingCache()V
        .registers 3
    
        const/4 v1, 0x0
    
        iget-boolean v0, p0, Landroid/widget/AbsListView;->mScrollingCacheEnabled:Z
    
        if-eqz v0, :cond_11
    
        iget-boolean v0, p0, Landroid/widget/AbsListView;->mCachingStarted:Z
    
        if-nez v0, :cond_11
    
        invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setChildrenDrawnWithCacheEnabled(Z)V
    
        invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setChildrenDrawingCacheEnabled(Z)V
    
        iput-boolean v1, p0, Landroid/widget/AbsListView;->mCachingStarted:Z
    
        :cond_11
        return-void
    .end method

    ---------------------------------------------------------------------------------------------------------------------

    4- متد زیر را مطابق شکل زیر تغییر دهید:
    کد:
    .method private initAbsListView()V
        .registers 4
    
        const/4 v2, 0x0
    
        const/4 v1, 0x1
    
        invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setClickable(Z)V
    
        invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setFocusableInTouchMode(Z)V
    
        invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setWillNotDraw(Z)V
    
        invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setAlwaysDrawnWithCacheEnabled(Z)V
    
        invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V
    
        iget-object v1, p0, Landroid/view/View;->mContext:Landroid/content/Context;
    
        invoke-static {v1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
    به شکل زیر تغییر میدهیم:
    کد:
    .method private initAbsListView()V
        .registers 4
    
        const/4 v2, 0x0
    
        const/4 v1, 0x1
    
        invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setClickable(Z)V
    
        invoke-virtual {p0, v1}, Landroid/widget/AbsListView;->setFocusableInTouchMode(Z)V
    
        invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setWillNotDraw(Z)V
    
        invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setAlwaysDrawnWithCacheEnabled(Z)V
    
        invoke-virtual {p0, v2}, Landroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V
    
        iget-object v1, p0, Landroid/view/View;->mContext:Landroid/content/Context;
    
        invoke-static {v1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
    --------------------------------------------------------------------------------------------------------

    5- متد زیر را نیز تغییر دهید:
    کد:
    .method public setScrollingCacheEnabled(Z)V
        .registers 3
      
        iget-boolean v0, p0, Landroid/widget/AbsListView;->mScrollingCacheEnabled:Z
    
        if-eqz v0, :cond_9
    
        if-nez p1, :cond_9
    
        invoke-direct {p0}, Landroid/widget/AbsListView;->clearScrollingCache()V
    
        :cond_9
        iput-boolean p1, p0, Landroid/widget/AbsListView;->mScrollingCacheEnabled:Z
    
        return-void
    .end method
    به شکل زیر:

    کد:
    .method public setScrollingCacheEnabled(Z)V
        .registers 3
        .parameter "disabled"
    
        iget-boolean v0, p0, Landroid/widget/AbsListView;->mScrollingCacheEnabled:Z
    
        if-eqz v0, :cond_9
    
        if-nez p1, :cond_9
    
        invoke-direct {p0}, Landroid/widget/AbsListView;->clearScrollingCache()V
    
        :cond_9
        iput-boolean p1, p0, Landroid/widget/AbsListView;->mScrollingCacheEnabled:Z
    
        return-void
    .end method

    اعتبار:
    این آموزش توسط TEAM XPOSED انتشار داده شده است.
    دوستان دقت نمایند، به هیچ عنوان مطالب تخصصی این سایت، مجاز به انتشار در سایت های دیگه نمیباشند.

    موضوعات مشابه:
    ویرایش توسط M_Javad_Nazari : Friday 25 May 12 در ساعت 02:54

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

    با حمایت مالی از انجمن ، شما هم با ما در بهبود و پیشرفت سایت سهیم باشید.


    لظفا برای فرستادن فایل های متنی از قبیل log و پیغام های خطای طولانی ،از HasteBin یا PasteBin استفاده کنید.

    9 کاربر پست M_Javad_Nazari عزیز را پسندیده اند .



  2. # ADS

کلمات کلیدی این موضوع

بوک مارک ها

بوک مارک ها

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •