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

网站备案接口asp.net电子商务网站前台模板

网站备案接口,asp.net电子商务网站前台模板,国外网站如何做推广,wordpress怎么把分类栏目静态迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片#xff0c;集成了4个Cortex-A72和4个Cortex-A53核心#xff0c;以及独立的NEON协处理器。它适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品。 1.1 Android 多屏同显 iTOP-RK3576 开发板支持…迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片集成了4个Cortex-A72和4个Cortex-A53核心以及独立的NEON协处理器。它适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品。 1.1 Android 多屏同显 iTOP-RK3576 开发板支持以下屏幕 迅为 MIPI 7 寸屏幕 标准 HDMI 屏幕通过 HDMI 线连接 迅为 LVDS 7 寸屏幕 迅为 LVDS 10.1 寸 1024*600 屏幕 迅为 LVDS 10.1 寸 1280*800 屏幕 然后修改 Android 源码 kernel-6.1/arch/arm64/boot/dts/rockchip/topeet-screen-lcds.dtsi 中的 设备树文件如下图所示。LVDS 屏幕是 MIPI 通过转接板连接显示的RK3576 不支持 LVDS 显示接口。 我们可以根据自己的需求来修改 topeet-screen-lcds.dtsi 文件。总之修改 topeet_screen_choose.dtsi 的规律是打开所连接的屏幕对应的宏定义rk3576 有三个显示通 道 vp0 vp1 vp2所打开的宏定义对应的 vp 通道不能重复。默认打开对应的宏定义为多屏同显。 如果打开的宏定义是#define LCD_TYPE_LVDS_10_1_1280x800_GT9271, 需要将 kernel-6.1/arch/arm64/configs/rockchip_defconfig 文件中的 CONFIG_TOUCHSCREEN_GT9271y 宏定义使能然后再编译源码。 如果打开的宏定义是#define LCD_TYPE_LVDS_10_1_1024x600_GT911,需要将 kernel-6.1/arch/arm64/configs/rockchip_defconfig 文件中的 CONFIG_TOUCHSCREEN_GT9XX 宏定义使能然后再编译源码。 1.2 Android 多屏异显 如果要支持多屏异显首先要调试好双屏或多屏都可以正常显示并且分别挂载在不同的 vp 上可以参考上一个小节根据自己的需求打开 topeet-screen-lcds.dtsi 设备树中的宏定义。默 认开启后多屏显示的是同一个画面(如果要支持双屏或者多屏异显需要应用支持异显才会显示不同的内容)。查看当前的屏幕显示状态输入以下命令 cat /sys/kernel/debug/dri/0/summary 如果双屏或者多屏的显示器分辨率比例不同比如说主屏是 16:9副屏是 4:3那么副 屏显示的画面会拉伸或者缩小原因是副屏的画面是主屏映射过去的所以副屏上显示的是 主屏的分辨率。如果同样的屏幕情况下应用支持异显那么副屏会显示实际正常的分辨率。 所以如果要支持双屏或者多屏同显并要求显示正常双屏或者多屏的屏幕的分辨率比要一致。 1.2.1 指定主副屏 多屏异显的实际应用中需要指定哪个是主屏哪个是副屏。修改 Android14 源码目录下 rk3576_android14/device/rockchip/rk3576/topeet_rk3576/topeet_rk3576.mk 文件添加如下内容 如果要指定 MIPI 屏幕为主屏HDMI 屏幕为副屏如下设置 PRODUCT_PROPERTY_OVERRIDES vendor.hwc.device.primaryDSI PRODUCT_PROPERTY_OVERRIDES vendor.hwc.device.extendHDMI-A 如果要指定 MIPI 屏幕为主屏EDP 屏幕为副屏如下设置 PRODUCT_PROPERTY_OVERRIDES vendor.hwc.device.primaryDSI PRODUCT_PROPERTY_OVERRIDES vendor.hwc.device.extendeDP 如果需要定义多个主副屏时需要用逗号隔开比如指定 MIPI eDP 为主屏HDMI-A 为副屏 设置如下 PRODUCT_PROPERTY_OVERRIDES vendor.hwc.device.primaryDSI,eDP PRODUCT_PROPERTY_OVERRIDES vendor.hwc.device.extendHDMI-A 1.2.2 异显方案介绍 目前有两种异显方案分别是 Android Presentation 和 Andorid Activity 指定屏幕启动 。 Android Presentation需要 APP 应用开发中调用相应接口使指定的 view (Presentation view 是一个特殊的 dialog 类型 view)在副屏中显示。 Android Activity 指定屏幕启动APP 在启动 activity 时可以使用 display id 参数在对应 的屏幕上直接显示。 两者主要区别在: 1 前者的 acitivity 需要独立开发,把需要显示的内容投到副屏后者可以不需要源码,调用命令行或者系统接口把第三方 app 的 acitivity 投送到副屏; 2 .前者只有一个 activity 在顶层通过特殊的 dialog 将指定内容显示在副屏后者是两 个 activity 分别显示在主副屏。 接下来我们详细讲述这俩种方法。 1.2.3 Android Presentation 本小节讲解 Android Presentation 异显方案瑞芯微和迅为提供了使用 Android Presentation 编写好的 APP 例程接下来进行测试。 1.2.3.1 ApiDemos APP 在 Android12 源码中瑞芯微已经提供了使用 Presentation 接口的测试 APP在源码 development/samples/ApiDemos 目录下需要使用 mm 命令编译 APP。迅为提供了编译好的 测试 APP 在网盘资料“iTOP-RK3576 开发板/02_【iTOP-RK3576 开发板】/07_多屏显示配套 资料/Android/ApiDemosAPK”目录下。 此 APP 源码在 Android 源码 rk3576_android14/development/samples/ApiDemos 目录下进 入此目录输入“mm”命令进行编译如下图所示 然后使用 adb 命令安装 APP依次点击 App-Activity-Presentation 选项即可进入 Presentation 调用界面。如下图所示 在该界面需点击如下副屏的 checkbox 选项,即可在副屏显示相应图片。如下所示 副屏 HDMi 屏幕显示图片如下所示 1.2.3.2 Presentation sampleAPP 此 APP 在网盘资料“iTOP-RK3576 开发板/02_【iTOP-RK3576 开发板】/07_多屏显示配 套资料/Android/Presentation-sample”目录下下载此 APP 工程然后用 Androidstudio 打开 并编译 apk。编译成功之后安装 APPAPP 安装成功之后如下图所示 打开 APP 如下图所示 点击“显示副屏”按钮会在副屏显示如下图所示 APP 重要知识点讲解 随着用户的需求增多特别是对于一些 Android 平板电脑以及其他的一些 Android 智能设 备可能有多个屏幕用户不仅想要在主屏幕上显示内容同样在第二屏幕上也要显示想要的 内容这样可以达到更好的体验效果。Google 也是不负众望在 Android4.2 版本以后提供了 Presentation 类可以轻松实现在两块屏幕上同时显示不同的内容。Presentation 是一个特殊的 dialog它的目的是显示内容到第二屏幕。在 Presentation 创建的时候关联一个目标设备确 定 Presentation 要显示在那个设备上根据这个设备的信息来配置 Presentation 的 context 和 resources 信息。目前系统提供了两种方式来与目标显示屏进行绑定。 1 通过 MediaRouter 接口获取并绑定 选择显示 presentation 的设备最简单的方法就是使用 Media Routermedia router 服务持续 追踪在系统中哪个音频、视频线路是可用的当 routes 被选择或者不被选择或者更好的显 示 presentation display 的线路发生改变后 media router 就会发送消息。所以一些应用程序可以 自动监视这些消息来在首选设备上显示或取消 presentation。 首选显示 presentation 的设备是 Media Router 进行推荐的如果应用想要显示内容在第二 屏幕上就该使用该设备。下面将给出如何使用 media router 在主屏的设备创建和显示 presentation。 MediaRouter mediaRouter (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE); MediaRouter.RouteInfo route mediaRouter.getSelectedRoute(); if(route !null){ Display presentationDisplay route.getPresentationDisplay(); if(presentationDisplay !null){ Presentation presentation newMyPresentation(context, presentationDisplay); presentation.show(); } } 根据上面代码可以看出通过系统服务 Media Router 来选择一个合适的 route从 route 中来 获取首选的 display如果 display 不为空就会创建该 presentation创建完成后调用 presentation 的 show 方法将该 presentation 显示出来。 2 通过 DisplayManager 接口获取并绑定 另外一个获取首选 display 的方法是直接使用 display Manager 来获取。display manager 服 务提供方法枚举和描述系统中所有的设备包括可以显示 presentation 的设备。display manager 持续追踪系统中所有的设备然而并不是所有的设备都适合显示 presentation例如如果 一个 Activity 试图在主屏幕上显示一个 presentation它可能会掩盖自己的内容这就像在 Activity 上打开一个 dialog 一样。 DisplayManager displayManager (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE); Display[] presentationDisplays displayManager.getDisplays(DisplayManager.DISPLAY_CATEGORY_PRESENTATION); if(presentationDisplays.length 0){ // If there is more than one suitable presentation display, then we could consider // giving the user a choice. For this example, we simply choose the first display // which is the one the system recommends as the preferred presentation display. Display display presentationDisplays[1]; // displays[1]是副屏 Presentation presentation new MyPresentation(context, presentationDisplay); presentation.show(); } 根据上面代码可以看出通过系统服务 Display Manager 来获取所有适合显示 presentation 的 display 列表如果获取到了多个适合 display 对象我们选择副屏的 display。最后显示 presentation。 1.2.4 Android Activity 指定屏幕启动 本小节讲解 Android Activity 指定屏幕启动异显方案瑞芯微提供了使用 Android Activity 指定屏幕启动编写好的 APP 例程接下来进行测试。 1.2.4.1 dualscreendemo APP RK DualScreen 主要区别与 android presentation在于它实现了应用的派发允许厂商快 速根据现有的 app 功能进行模块的集成减少开发周期和研发成本。示例代码为 DualScreenDemo.zip 工程在网盘资料“iTOP-RK3576 开发板/02_【iTOP-RK3576 开发板】/07_ 多屏显示配套资料/Android/DualScreenDemo”目录下下载。 使用 Androidstudio 打开此工程代码编译安装 APP安装完成后如下所示 打开此 APP如下所示有三个按钮。 第三个按钮使用了 Android Activity 指定屏幕启动关键代码如下所示第一个和第二个 按钮使用了 Presentation。 private void showSecondByActivity(Context context){ ActivityOptions options ActivityOptions.makeBasic(); MediaRouter mediaRouter (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE); MediaRouter.RouteInfo route mediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO); if (route ! null) { Display presentationDisplay route.getPresentationDisplay(); options.setLaunchDisplayId(presentationDisplay.getDisplayId()); Intent intent new Intent(android.intent.action.MUSIC_PLAYER); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent, options.toBundle()); } } 在 startActivity 接口参数中设置指定屏幕的 display idActivity 将在指定屏幕上直接启 动显示。 Activity 的多显示器支持需要设备支持feature nameandroid.software.activities_on_secondary_displays /。 同时 application 或者 activity 需要支持分屏属性即application或者activity标签下设 置新的属性 android:resizeableActivitytrue这个属性在你 target 到 Android N 后 android:resizeableActivity 的默认值就是 true。 ActivityOptions 提供两个新函数以支持多个显示器分别是 setLaunchDisplayId()和 getLaunchDisplayId()。 setLaunchDisplayId() 指定 Activity 在启动后应显示在哪个显示器上。 getLaunchDisplayId() 返回操作组件的当前启动显示器。 在上述代码中使用 MediaRouter 接口获取副屏的 display id,同理也可以使用 DisplayManager 接口获取响应的 display id。 1.2.5 支持输入法在副屏显示 修改 Android14 源码下的 device/rockchip/common/display_settings.xml 文件如下所示 将设置相应屏幕 shouldShowIme 为 true,如上配置支持输入法在 local:1 的副屏上显示。 1.2.6 副屏 DPI 设置 修改 Android14 源码下的 device/rockchip/common/display_settings.xml 文件如下所示 修改 forcedDensity 的值可以修改副屏的屏幕密度。 1.2.7 主屏幕可以触摸副屏不触摸 如果想要实现主屏可以触摸副屏不用触摸的功能。有两种解决方式第一种是在 App 应用代码中实现。第二种需要修改 framework 层的源码。 第一种方式 getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); 第二种方式 修改 Android14 源码 frameworks/native/services/inputflinger/reader/EventHub.cpp 文件屏蔽掉 device-classes | InputDeviceClass::EXTERNAL;属性如下图所示 1.2.8 多屏异触 多屏异触需要指定主副屏。这里使用修改 Android 源码的方式实现绑定副屏触摸芯片。这 样设置以后系统开机会自动将 ft5x06 触摸绑定到副屏上面去。修改文件 frameworks/native/services/inputflinger/reader/EventHub.cpp添加如下加红的代码。通过修改 EventHub.cpp 文件在 isExternalDeviceLocked 函数中判断设备名称为指定的副屏设备比如 副屏的设备名称是 generic ft5x06 (79)则返回 true。 bool EventHub::Device::isExternalDeviceLocked() { const char *I2C_DEVICE_NAME generic ft5x06 (79); ALOGE(input deviceis %s ,device-identifier.name.c_str()); if (strcmp(device-identifier.name.c_str(), I2C_DEVICE_NAME) 0) { return true; } if (configuration) { std::optionalbool isInternal configuration-getBool(device.internal); if (isInternal.has_value()) { return !isInternal.value(); } } return identifier.bus BUS_USB || identifier.bus BUS_BLUETOOTH; } 这里的 I2C_DEVICE_NAME 需要根据实际情况添加用户可根据 ALOGE 打印信息在 logcat 中寻找识别到的芯片实际的名字。下面是添加了 ALOGE 打印信息后在 logcat 中得到的 设备名字的截图 上图中的 goodix-ts 和 generic ft5x06 (79)即为这里使用的触摸 IC 芯片的名字将这个复制 到代码中即可。修改完毕重新编译Android镜像用户测试的时候可以直接使用ApiDemo APP 进行测试。 1.2.9 鼠标异屏切换 在多屏异显情况下修改以下代码使鼠标箭头可以移动到需要的副屏上去进行操作。 我们需要修改 Android14 源码中 frameworks/native/services/inputflinger/reader/mapper/CursorInputMapper.cpp 文件 搜索sys.mouse.presentation然后将下面的代码中 0 改为 1。 //-----rk-code---- char mMousePresentation[PROPERTY_VALUE_MAX] {1}; property_get(sys.mouse.presentation, mMousePresentation, 1); if (strcmp(mMousePresentation, 1) 0) { if (std::optionalFloatRect rect mPointerController-getBounds(); rect.has_value()) { if(xCursorPositionrect-left||xCursorPositionrect-right||yCursorPositionrect-top||yCursor Positionrect-bottom){ mDisplayIdgetPolicy()-notifyDisplayIdChanged(); } } }else{ mDisplayId mPointerController-getDisplayId(); } 然后重新编译 Android 源码然后烧写镜像。 1.2.10 副屏显示配置 1.2.10.1 副屏全屏显示 设置副屏副屏 1、副屏 2 等是否全屏显示可通过修改 persist.sys.rotation.efull-nn1、 2、3、….参数的取值进行配置若配置为 true 则会进行全屏显示。 现以 MIPI 主屏、 HDMI 副 屏 为 例 修改如下 在 device/rockchip/rk3576/topeet_rk3576/topeet_rk3576.mk 文件中添加如下内容使得 HDMI 副屏可以全屏显示由于副屏图像参考主屏宽高比进行缩放若宽高比不一致则出 现黑边所以默认 HDMI 副屏显示会有黑边 PRODUCT_PROPERTY_OVERRIDES persist.sys.rotation.efull-1true 修改完成后保存退出重新编译烧写镜像即可。 注由于 mipi 竖屏显示与 HDMI 宽高比相差较大HDMI 设置全屏显示后拉伸较明显 1.2.10.2 副屏显示方向 副屏的旋转角度可通过 persist.sys.rotation.einit-nn1、2、3、….属性控制该属性用 于设置副屏副屏 1、副屏 2 等的显示方向可取值为 0/1/2/3分别表示将副屏显示方 向旋转顺时针0 度、90 度、180 度、270 度。 现以 MIPI 主屏、 HDMI 副 屏 为 例 修改如下 在 device/rockchip/rk3576/topeet_rk3576/topeet_rk3576.mk 文件中添加如下内容使得 HDMI 副屏的显示方向旋转 90 度 PRODUCT_PROPERTY_OVERRIDES persist.sys.rotation.einit-11 PRODUCT_PROPERTY_OVERRIDES persist.sys.rotation.efull-1false 修改完成后保存退出重新编译烧写镜像即可HDMI 会旋转 90°竖屏显示。
http://www.hyszgw.com/news/100666/

相关文章:

  • 哪家公司网站做的比较好建设工程合同是什么
  • 中国建设人才服务信息网是正规网站大连网站制作 姚喜运
  • 徐闻手机网站建设公司云服务器是什么
  • 建立网站需要多少钱怎么样重庆营销型网站建设公司
  • 宁波模板建站哪家好网站制作要用哪些软件有哪些
  • 网站推广计划效果免费建工作室网站
  • 深圳网站建设推广优化公司国外的电商网站有哪些
  • 邯郸哪家公司做企业网站比较专业网站设计是不是会要用代码做
  • 红酒网站定位网站建设常用字体
  • 做网站用什么主机好游戏网站建设方案百度文库
  • 局机关建设网站的意义汕头做网站优化公司
  • 做一个什么样的网站wordpress前台中英文
  • 第一推是谁做的网站更改网站描述
  • 企业网站seo维护厂房建设招标网站
  • 建外贸网站公司网站建设的面试要求
  • 网站开发印花税昆山营销型网站建设方法
  • 公司网站定制wordpress鼠标点击文字手机端
  • 产品营销网站建设营销方案英文
  • 企业门户网站 php北京公司注册查询
  • 洛阳建站公司效果重庆市建设考试报名网站
  • 太原找工作网站专门看网站的浏览器
  • 做百度网站需要什么条件开发网站公司收入
  • 卖车网站重点专业建设验收网站
  • 做行业网站广告能赚多少钱冒险岛2做乐谱网站
  • 做网站的公司在哪深圳企业网站app开发
  • 蒙古文网站建设上海网站制作怎么选
  • 个人网站建设教程视频wordpress handsome
  • 网站栏目页 优化吉林网络seo
  • 武进网站建设方案去黄山旅游大概要多少钱
  • c2c商城网站建设二次开发17zwd一起做网站广州