当前位置: 首页 > news >正文

北京网站建设一条龙东莞app

北京网站建设一条龙,东莞app,net 网站开发,长沙专业公司网站建设源头背景 某些情况下,需要让用户阅读下发的文件,特别是红头文件,这些文件一般都是使用PDF格式下发,这种文件有很重要的一点就是不能更改。这时候就需要使用原文件进行展示。 Xamarin.Forms Android 中的 WebView 控件是不能直接显示的…

背景

某些情况下,需要让用户阅读下发的文件,特别是红头文件,这些文件一般都是使用PDF格式下发,这种文件有很重要的一点就是不能更改。这时候就需要使用原文件进行展示。

Xamarin.Forms Android 中的 WebView 控件是不能直接显示的,但是这并不影响,因为最终文件的显示依托于它的继承类 View 类。

解决方案

需要的 Nuget 包

XamarinLibrary.Xamarin.Android.Github.Barteksc.AndroidPdfViewer
Xamarin.Android.Support.v4

AndroidPdfViewer 包目前还是预览版,需要去使用命令安装
Support.v4 包不是必须,当系统目标版本大于 Android9.0 时,才需要引入

在 UI 项目里要做的操作

创建一个自定义控件继承 View,没了。对就这些
然后在视图中使用这自定义控件。

在平台 Android 项目里要做的操作

  1. 在 Resources 创建 layout 文件夹
  2. 在 layout 文件里添加 PDFLayout.xml 文件
  3. 创建 Renderers 文件夹并添加 XFAPDFViewRenderer.cs 文件
  4. PDF文件放在 Assets 文件夹下

文件说明

  • PDFLayout.xml 属性设置

生成操作:AndroidResource
自定义工具:MSBuild:UpdateGeneratedFiles
在这里插入图片描述

  • PDF文件设置
    设置生成操作:AndroidAsset 即可

  • PDFLayout.xml 文件内容:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"><com.github.barteksc.pdfviewer.PDFViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/pdfView"/>
</RelativeLayout >
  • XFAPDFViewRenderer.cs文件内容:
using Android.Content;
using Com.Github.Barteksc.Pdfviewer;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
using XFA.PdfTest.Controls;
using XFA.PdfTest.Droid.Renderers;[assembly: ExportRenderer(typeof(XFAPDFView), typeof(XFAPDFViewRenderer))]
namespace XFA.PdfTest.Droid.Renderers
{public class XFAPDFViewRenderer : ViewRenderer<XFAPDFView, Android.Widget.RelativeLayout>{public XFAPDFViewRenderer(Context context) : base(context) { }private PDFView pdfView;private Android.Widget.RelativeLayout uiLayout;protected override void OnElementChanged(ElementChangedEventArgs<XFAPDFView> e){var layout = Inflate(Context, Resource.Layout.PDFLayout, null);if (pdfView == null){uiLayout = layout as Android.Widget.RelativeLayout;}pdfView = uiLayout.FindViewById<PDFView>(Resource.Id.pdfView);pdfView.FromAsset("XXX.pdf").Load();SetNativeControl(uiLayout);}}
}

结语

在 Xamarin.Forsm for Android 中显示 PDF 并不像 for IOS 中可以直接使用 WebView 进行显示,所以使用 WebView 是行不通的。多搜索,多探索,看看别人的案例虽然不能百分之百解决问题,但可以提供很有效的思路。

http://www.yayakq.cn/news/184154/

相关文章:

  • 茂名建网站推广文案大全
  • 网站全站模板wordpress积分商城主题
  • 软件商店oppo版本最新版seo怎么做优化工作
  • 织梦如何仿手机网站源码0基础的怎么转行互联网
  • 网站设计大作业logo设计公司 重庆艺点创意
  • 泰州网站建设制作工作室上海自助建站 上海网站建设
  • 什么是网站建设公司免费设计签名的软件
  • 开网络公司做网站挣钱吗wordpress缓存图片路径
  • 贸易网站设计杭州网站的建设
  • 搬家网站自适应简约风格网站建设
  • wordpress做link成都优化官网推广
  • 请人做网站要多少网页设计思路说明200字
  • 网站内容由什么组成部分组成wordpress 外贸 模板
  • 装修公司网站wordpress 模板无棣做网站
  • 网站怎样推广 优帮云仿制手机网站教程
  • 教育网站案例动画制作可以自学吗
  • wordpress站内信插件如何查询店名是否被注册
  • 金乡网站建设公司云南鼎润房地产开发有限公司网页设计
  • 东城做企业网站多少钱58同城的网站建设
  • 网上作业网站怎么做的网站怎么做百度百科
  • 那个网站做直播好wordpress循环分类
  • 建设银行粤通卡网站哪些网站可以免费申请域名
  • 好的手机端网站模板下载安装网站开发语言数据库有几种
  • h5用什么网站来做如何在百度上做免费推广
  • 做saas网站可行吗有专业做外贸的网站吗
  • 长沙移动网站网站平台建设多少钱
  • 网站优化排名易下拉排名电商网站开发要多少钱
  • 360免费自助建站能看人与动物做的网站
  • 西部数码成品网站排名优化哪家专业
  • 挖掘关键词爱站网太湖云建站网站建设