android - (可缩放)图形而不是用于设计目的的文本
问题描述
我的 App 中的一些TextView
s 使用自定义字体用于设计目的:
app:fontFamily="@font/myfont"
但是,如果用户配置了另一种字体,这些TextView
s 会受到影响,并以与我为此配置的字体不同的字体显示文本TextView
。这会导致设计失败。
为了解决这个问题,我正在考虑用TextView
s替换ImageView
s 并用我的字体中的文本显示一个(可缩放的)图形。图像应该是可缩放的,以便独立于运行应用程序的设备的像素密度。
这是一种合理的方法吗?有没有人这样做并且可以提供一些关于如何存档的提示?
解决方案
我希望您可以使用以下解决方案:
totalDIP_X 和 totalDIP_Y 表示电话上每英寸的 DIP 总数。
例如,如果您想在每部手机上显示 5cm x 5cm 的图像。
5 厘米 = 1.968 英寸
DisplayMetrics metrics = activity.getResources().getDisplayMetrics();
totalDIP_X = metrics.xdpi;
totalDIP_Y = metrics.ydpi;
imageView.setImageBitmap(Bitmap.createScaledBitmap (aBitmap, (int)(1.968*totalDIP_X), (int)(1.968*totalDIP_Y), false));
推荐阅读
- javascript - 如果打印控制台日志是正常的。但执行是空的
- reactjs - 在firebase中添加一个集合文档长度的计数器
- google-cloud-platform - 使用“Google Cloud Platform”部署管理器设置 LAMP,是否可以使用 Cloud Shell 进行编辑?
- r - 计算列表的相似度分数
- c++ - 通过移动 Slider 在 qt 中撤消 setPixel 操作
- ios - 无法在 UserDefaults 中存储自定义类 - 尝试插入非属性列表
- ssis - 事实表核对或验证
- reactjs - 如何将 create-react-app 用于带有 TypeScript 的 React 版本 16.xx?
- c# - 如何使用 .net 在 Amzon 中使用 sell-partner-api 加密和上传数据
- stripe-payments - Stripe webhook 以告知订阅何时失效