بنر اسلایدر

پرسیده شده
فعالیت 1033 روز پیش
دیده شده 550 بار
0

سلام 

چرا وقتی به یک صفحه دیگر می رویم و دوباره به صفحه خانه بر می گردیم بنراسلایدر ما بهم می ریزید.؟

حتی وقتی سایز ثابت هم به ارتفاع میدم باز همین مشکل وجود دارد؟

مشکل از فرسکو است؟

فایل پیوست

علی خدری
علی خدری

3 بهمن 99

1
حذف شده

سلام و احترام

 

در جلسات آینده این موارد برطرف میشن 

در یکی از ویدیو ها استاد اشاره میکنند که در انتها ویدیویی ضبط خواهند کرد برای رفع باگ ها.

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

3 بهمن 99

1
حذف شده

بسیار عالی.

فعلا ارتفاعی که استاد در فرگمنت محاسبه کردند را کامنت کردم و ارتفاع ثابت دادم مشکل رفع شد.

فایل پیوست

علی خدری

توسط

علی خدری

3 بهمن 99

0
حذف شده

از constraint layout استفاده کن بجای frame layout اتربیوت app:layout_constraintDimensionRatio رو برای view pager ست کن دیگه نیازی هم به محاسبه طول و عرض نداری view به طور خودکار تو دیوایسای مختلف برا اساس ابعاد صفحه  نمایش سایزش تغییر میکنه

: view  اتریبیوت های

          <androidx.viewpager2.widget.ViewPager2
                     android:id="@+id/bannerSliderViewPager"
                     android:layout_width="0dp"
                     android:layout_height="0dp"
                     app:layout_constraintDimensionRatio="16:9"
                     app:layout_constraintEnd_toStartOf="@+id/guideline_right"
                     app:layout_constraintStart_toStartOf="@id/guideline_left"
                     app:layout_constraintTop_toBottomOf="@+id/et_search"
                     android:layout_marginTop="16dp" />
فایل پیوست

mehran akbari

توسط

mehran akbari

21 فروردین 00

1
حذف شده

با سلام 

 

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

private fun calculateBannerSliderHeight() {
        //calculate the height of viewPager
        val viewPagerHeight = ((binding.bannerSliderViewPagerHome.measuredWidth
                - convertDpToPixel(32f, requireContext())) * 173) / 328
        //take layoutParams for set a new Height in viewPager.
        val layoutParams = binding.bannerSliderViewPagerHome.layoutParams
        layoutParams.height = viewPagerHeight.toInt()
        //set new layoutParams for viewPager
        binding.bannerSliderViewPagerHome.layoutParams = layoutParams
        Timber.d("${binding.bannerSliderViewPagerHome.measuredWidth} and ${layoutParams.height}")
    }

و بعد در متد OnResume اون رو کال کنید. مشکل برطرف خواهد شد.

 override fun onResume() {
        super.onResume()
        //for calculate again banner slider height
        calculateBannerSliderHeight()
    }
فایل پیوست

ابوالفضل رضایی

توسط

ابوالفضل رضایی

31 خرداد 00