SVG 在 Android 中保留纵横比

2024-04-01

我在 Android 手机上遇到 SVG 缩放问题。

我网站的几个部分是基于通过嵌入的 SVG 的宽度和高度尺寸<img>标签。 所有浏览器,除了Android 4.1.2 原生浏览器(非 Chrome),正确、完美地缩放 SVG,不会扭曲纵横比。

Here is screenshot of how it appears on Firefox(and all the browsers) enter image description here

Here is screenshot of how it appears on the Android 4.1.2 Native Browser. enter image description here

测试网址 http://prashantsani.com/demos/svgIssue/ http://prashantsani.com/demos/svgIssue/

我尝试了以下所有解决方案,但没有一个有效。

  1. 设置宽度、高度和视图框不起作用。此外,preserveAspectRatio 也不起作用。<svg width="443.5" height="100" viewBox="0 0 443.5 100" preserveAspectRatio="xMidYMid meet">

  2. 包裹在另一个 SVG 中并没有达到目的(另外,我不想将图像居中,而是需要一种按比例缩放图像的方法)。以编程方式居中 svg 路径 https://stackoverflow.com/questions/16891277/programmatically-centering-svg-path/16921836#16921836

  3. 我试过这个:SVG 调整图像大小超出纵横比 https://stackoverflow.com/questions/18522361/svg-resize-image-out-of-aspect-ratio但它也不起作用。宽度和高度已设置为整数,而不是 % 或 px。

回答前请先阅读以下内容:

  1. 由于布局在某些地方需要宽度和高度,因此我必须在某些地方保留两者。
  2. 此问题仅发生在 Android 4.1.2{“浏览器”应用程序}上的本机浏览器应用程序中 。正如在 Chrome 和 Android 4.1.2 上的所有其他浏览器中所预期的那样,它运行得非常出色。
  3. 如果您找到解决方案,小提琴或密码笔将会很有帮助。
  4. 不打算使用 SVG 以外的任何图像格式。
  5. 宽度和高度并通过 css 以 % 的形式提及......并且 SVG 必须相应地缩放。

Thanks.


As per 本文 http://codeandlife.com/2014/12/28/fixing-android-browser-svg-scaling-with-max-height/, max-height: 100%; and/or max-width: 100%样式属性内似乎有潜在的修复。

然而,就我自己而言,我只指定了width="32" with a viewBox="0 0 32 32",一旦我添加height="32"我不再有任何问题。我太习惯了大多数可以弥补这些问题的浏览器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SVG 在 Android 中保留纵横比 的相关文章

  • 如何解决 Firebase AuthUi 中无法找到显式活动?

    使用 firebase UI 时 我无法找到显式活动类 com firebase ui auth KickoffActivity protected void onCreate Bundle savedInstanceState super
  • 如何在android线性布局上获得阴影? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在android中为View设置阴影 https stackoverflow com questions 4406524 how to set shadow to a view in androi
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • 调整浮动操作按钮的图标大小(fab)

    The new floating action button should be 56dp x 56dp and the icon inside it should be 24dp x 24dp So the space between i
  • AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

    如果我需要能够 播放多个音频文件 具有不同的持续时间 例如 5 到 30 秒 独立设置右 左声道的音量 应用声音效果 如混响 失真 那么 我应该使用哪个 API 另外 我在 AudioTrack API 上找不到太多文档 有谁知道在哪里可以
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • 如何在 Android 模块中使用 FirebaseAuth

    我正在开发一个聊天库 我想在其中显示登录用户的对话 制作该库的原因是我想将其集成到多个项目中 我现在面临的问题是FirebaseAuth表示用户尚未登录 FirebaseAuth getInstance mFirebaseApp getCu
  • 画透明圆,外面填充

    我有一个地图视图 我想在其上画一个圆圈以聚焦于给定区域 但我希望圆圈倒转 也就是说 圆的内部不是被填充 而是透明的 其他所有部分都被填充 请参阅这张图片了解我的意思 http i imgur com zxIMZ png 上半部分显示了我可以
  • 使用 PhoneGap 使 Android 应用程序易于访问(对于残障人士)

    有人有过使用 PhoneGap 使 Android 应用程序可访问的经验吗 至少我们需要使我们的应用程序符合第 508 条规定 我尝试实现一些标准的辅助功能 文本框标签 向 div 添加标题属性等 但是 当在 Android 中使用 Tal
  • 如何在模态打开时防止主体滚动

    我在用着W3schools 模态脚本 https www w3schools com howto tryit asp filename tryhow css modal我想添加一个功能 防止模型打开时整个主体滚动 我根据我的需要对原始脚本做
  • 在游戏视图下添加 admob

    我一直试图将 admob 放在我的游戏视图下 这是我的代码 public class HoodStarGame extends AndroidApplication Override public void onCreate Bundle
  • 在 Android 中调整可绘制对象的大小

    我正在为进度对话框设置一个可绘制对象 pbarDialog 但我的问题是我想每次调整可绘制的大小 但不知道如何调整 这是一些代码 Handler progressHandler new Handler public void handleM
  • HERE 地图:更改路线已行驶部分的颜色

    导航时可以改变路线的颜色吗 具体来说 我希望路线中已行驶的部分的颜色与即将行驶的部分的颜色不同 现在都是同一个颜色 将 MapRoute 对象的 TravelColor 变量设置为透明对我来说很有效 mapRoute color Resou
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • Android studio - 如何查找哪个库正在使用危险权限?

    我正在尝试将 apk 上传到 google play 商店 但令我惊讶的是 我正在使用以下权限 Your APK is using permissions that require a privacy policy android perm
  • Android 中循环事件的星期几和时间选择器

    我想创建一个控件 允许用户在我的 Android 活动中选择一周中的某一天 星期一 和一天中的某个时间 下午 1 00 找不到任何关于此的好帖子 好吧 我想我已经明白了 我只是不喜欢这个解决方案 因为我在一周中的某一天使用的微调器与时间选择
  • 如何在基本活动中使用 ViewBinding 的抽象?

    我正在创建一个基类 以便子级的所有绑定都将设置在基类中 我已经做到了这一点 abstract class BaseActivity2 b AppCompatActivity private var viewBinding B null pr
  • 获取其他指针的MotionEvent.getRawX/getRawY

    我可以获取其他指针的MotionEvent getRawX getRawY 值吗 MotionEvent getRawX API 参考 http developer android com reference android view Mo
  • Android 中带有组的列表视图

    我有一个列表视图 每行都有一些日期和文本 我可以像 iPhone 中那样将这个 listView 分组 组之间有标题吗 在 android 中是否可能 请帮忙 即 我需要在 Listview 行之间有标题栏 以便如果我使用日期对其进行分组
  • 禁用允许文本选择的

    残疾人可以吗

随机推荐