В режиме вложенной прокрутки Как просмотреть PDF-файл с прокруткой

#android #android-viewpager #android-nestedscrollview #pdf-viewer

Вопрос:

enter code here Мой корневой макет-это вложенный вид прокрутки внутри вложенного вида прокрутки создайте видовой экран для изменения pdf слева направо или справа налево, он работает правильно, но при прокрутке pdf вверх вниз для изменения вида pdf, так что он не работает должным образом.

Что я хочу:- Я хочу, чтобы при нажатии кнопки «Далее» и «предыдущая стрелка» pdf изменялся, а при прокрутке вверх вниз изменялся pdf внутри содержимого

мой поток кода похож на (котлин):- (1) создайте дизайн одного элемента в дизайне, который я использовал в формате pdf barteksc. (2) создайте адаптер для класса,класса модели для просмотра pdf (3) установите адаптер в viewpager

barteksc:android-pdf-просмотрщик:2.8.2 Я использовал эту зависимость

Примечание:- без вложенного вида прокрутки он будет работать идеально, но я хочу с видом прокрутки.

Спасибо.введите описание изображения здесь

activity_main.xml

 <androidx.core.widget.NestedScrollView 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/listing_background"
         android:id="@ id/scrolview_parrent"
        tools:context=".view.activity.ListingActivity">

      <LinearLayout
        android:id="@ id/linear_viewing_area"
        android:layout_width="match_parent"
        android:layout_height="@dimen/_180sdp"
        android:layout_below="@id/linear_export_excel"
        android:orientation="vertical"
        android:layout_marginBottom="@dimen/_15sdp"
        android:background="@drawable/viewing_area_bg"
        android:layout_marginStart="@dimen/_10sdp"
        android:layout_marginEnd="@dimen/_10sdp"
        android:padding="@dimen/_5sdp"
        android:visibility="visible"
        android:layout_marginTop="@dimen/_15sdp">

      
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@color/pdf_view_bg">

            <androidx.viewpager.widget.ViewPager
                android:nestedScrollingEnabled="false"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@ id/viewpager_for_pdf_listing"
                android:layout_centerInParent="true"
                android:clipToPadding="false"
                android:foregroundGravity="center" />


            <ImageView
                android:id="@ id/img_next_listing"
                android:layout_width="@dimen/_40sdp"
                android:layout_height="35dp"
                android:src="@drawable/fws"
                android:layout_marginEnd="@dimen/_100sdp"
                android:layout_centerVertical="true"
                android:layout_alignParentRight="true"
                android:layout_marginRight="5dp"
                android:paddingTop="5dp"
                android:paddingBottom="5dp"
                />


            <ImageView
                android:id="@ id/img_previous_listing"
                android:layout_width="@dimen/_40sdp"
                android:layout_height="35dp"
                android:src="@drawable/back"
                android:layout_centerVertical="true"
                android:layout_marginStart="@dimen/_100sdp"
                android:layout_alignParentLeft="true"
                android:paddingTop="5dp"
                android:paddingBottom="5dp"/>
        </RelativeLayout>
    </LinearLayout>
   </androidx.core.widget.NestedScrollView>
 

xml-файл дизайна одного элемента.

 enter code here
    <RelativeLayout 
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:background="@color/pdf_view_bg"
   android:layout_height="match_parent">

<com.github.barteksc.pdfviewer.PDFView
    android:id="@ id/pdfview"
    android:nestedScrollingEnabled="false"
    android:layout_width="@dimen/_189sdp"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"
    android:layout_marginTop="@dimen/_15sdp"
    android:layout_marginBottom="@dimen/_15sdp"
    android:padding="@dimen/_5sdp" />
 

Adapter Class

 enter code here
        class PdfAdapter(private val context: Context, private val pdfList: ArrayList<PdfModel>) :
PagerAdapter() {
override fun getCount(): Int {

    return pdfList.size

}

override fun isViewFromObject(view: View, `object`: Any): Boolean {
    return view == `object`
}


override fun instantiateItem(container: ViewGroup, position: Int): Any {

    val view = LayoutInflater.from(context)
        .inflate(R.layout.single_row_design_for_pdfview, container, false)

    val model = pdfList[position]
    val pdfview = model.pdf

    //set datato ui view
    view.pdfview.fromStream(pdfview).load()
    view.pdfview.isNestedScrollingEnabled
    container.addView(view, position)
    return view
}


override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
    container.removeView(`object` as View)
}
}
 

Класс основной активности

 enter code here
    private fun loadPdf() {
    pdfModel = ArrayList()

    pdfModel.add(PdfModel(assets.open("AI1.pdf")))
    pdfModel.add(PdfModel(assets.open("AI2.pdf")))
    pdfModel.add(PdfModel(assets.open("AI3.pdf")))

    // setup adapter
    pdfAdapter = PdfAdapter(this, pdfModel)

    //set adapter to viewpager
    viewpager_for_pdf_listing.adapter = pdfAdapter

    // set default padding

    viewpager_for_pdf_listing.setPadding(60, 0, 60, 0)

    //disable view pager swipe.
    //only swipe when click buttun
    viewpager_for_pdf_listing.setOnTouchListener { v, event -> true }
    
}
 

Комментарии:

1. Пытался nestedScrollingEnabled=true ?

2. Я попробовал nestedScrollingEnable = true, но все равно pdf не прокручивается

3. Какой PDFViewer вы используете?

4. com.github.barteksc.pdfviewer. PDFView

5. привет, камаль, я отредактировал свой код