Android 开发问题:为 PDFView 设置一个带有黑色边框的背景 drawable,但边框没有生效

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <stroke
        android:width="1dp"
        android:color="@color/black" />
</shape>
xml 复制代码
<com.github.barteksc.pdfviewer.PDFView
    android:id="@+id/pdfv_container"
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:layout_marginTop="20dp"
    android:background="@drawable/item_dialog_notice_pdfv_container" />
  • 在 Android 开发中,执行上述代码,为 PDFView 设置一个带有黑色边框的背景 drawable,但边框没有生效
问题原因
  • PDFView 在绘制 PDF 页面时会覆盖掉背景 drawable 的绘制
处理策略
  • 用一个外层容器包裹 PDFView,把边框加在外层容器上,同时给外层容器设置内边距
xml 复制代码
<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:layout_marginTop="20dp"
    android:background="@drawable/item_dialog_notice_pdfv_container"
    android:padding="1dp">

    <com.github.barteksc.pdfviewer.PDFView
        android:id="@+id/pdfv_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</FrameLayout>
  • 也尝试过给 PDFView 设置内边距,让 PDF 内容不贴边,但是这种方法无效
xml 复制代码
<com.github.barteksc.pdfviewer.PDFView
    android:id="@+id/pdfv_container"
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:layout_marginTop="20dp"
    android:background="@drawable/item_dialog_notice_pdfv_container"
    android:padding="1dp" />
相关推荐
小羊没烦恼!5 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里5 天前
java中的继承和多态的区别
java
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕5 天前
JSONObject与JSONArray封装数据格式区别
java·json
千里马学框架5 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台5 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
胡写代码5 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖5 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
AFinalStone5 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
此时不提桶,更待何时5 天前
01-06-A-JVM排查实战详解
java·jvm