Explorar el Código

Merge branch 'implementAdBetweenPages'

cooperku_kdanmobile hace 4 años
padre
commit
eb8f9d3e2d

+ 1 - 1
PDFReaderReaderModule

@@ -1 +1 @@
-Subproject commit 65675f9354b56f0a8ddb6290ce59664760fc2113
+Subproject commit 57f1ad8505d76325df9d493b35a68a06b6c0e938

+ 29 - 1
app/src/main/java/com/kdanmobile/pdfreaderviewapp/MyReaderActivity.kt

@@ -2,7 +2,14 @@ package com.kdanmobile.pdfreaderviewapp
 
 import android.content.Context
 import android.os.Bundle
+import android.widget.ImageView
+import android.widget.Toast
+import com.kdanmobile.kmpdfkit.manager.KMPDFFactory
+import com.kdanmobile.kmpdfkit.pdfcommon.FilePicker
+import com.kdanmobile.kmpdfkit.pdfcommon.KMPDFPageAdapter
 import com.kdanmobile.reader.ReaderActivity
+import com.kdanmobile.reader.additionalpage.AbstractAdditionalPageAdapter
+import com.kdanmobile.reader.additionalpage.AdditionalPageView
 import com.kdanmobile.reader.setting.ReaderSettingDialogFragment
 import com.kdanmobile.reader.thumb.PdfThumbDialogFragment
 
@@ -66,10 +73,31 @@ class MyReaderActivity : ReaderActivity() {
     }
 
     companion object {
-        val KEY_FILE_ABSOLUTE = ReaderActivity.KEY_FILE_ABSOLUTE
+        const val KEY_FILE_ABSOLUTE = ReaderActivity.KEY_FILE_ABSOLUTE
     }
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        //  廣告已讀取完畢
+        additionalPageManager.isAdditionalPageLoaded = {
+            true
+        }
+    }
+
+    override fun providePdfPageAdapter(context: Context, filePickerSupport: FilePicker.FilePickerSupport, kmpdfFactory: KMPDFFactory): KMPDFPageAdapter {
+        return object : AbstractAdditionalPageAdapter(context, filePickerSupport, kmpdfFactory, additionalPageManager) {
+            override fun setupViewContent(position: Int, pageView: AdditionalPageView) {
+                //  建立假廣告頁面
+                val imageView = ImageView(context)
+                imageView.setBackgroundResource(R.drawable.pic_test_ad)
+                imageView.scaleType = ImageView.ScaleType.FIT_CENTER
+                pageView.layout.addView(imageView)
+
+                //  假廣告的點擊事件
+                imageView.setOnClickListener {
+                    Toast.makeText(context, "[$position][${pageView.page}] TEST", Toast.LENGTH_SHORT).show()
+                }
+            }
+        }
     }
 }

BIN
app/src/main/res/drawable/pic_test_ad.png