电脑文本代码:动态文本大小根据平板电脑的变化

尽一切努力,我终于到达了我在 android 中的第一个应用程序的末尾。并感谢所有。但在结束后,我意识到一件事,我的应用程序文本大小在所有平板电脑大小中是常见的。所以我将重新框架我的问题。

问题:我在整个应用程序中使用了我自己的自定义文本大小,或者在 7 英寸平板电脑中使用了一些其他的文本大小。但是当我在 8.9 英寸和 10.1 英寸平板电脑中寻找相同的东西时,它包含的大量空白和文本大小也相对较小。那么是否有一些方法可以根据我的平板电脑大小动态更改文本大小????它可能看起来是新手问题,但我正在努力

EDITED::根据 Cheeta 答案,方法是正确的,但我不能为每个布局按钮和文本字段和其他字段这样做。在单个应用程序中有数百个这样的字段。我可以在某个地方做,并将其称为必需属性。自定义标签是我正在寻找的方法。

任何帮助将不胜感激。提前感谢。

注意我还没有找到答案,但是猎豹的答案在某种程度上导致了正确的方法。尽管他的答案几乎没有对齐问题,但我将他的答案标记为正确。欢迎任何其他答案。谢谢

34

在检查了一些资源后,我终于想出了以下解决方案:在 layout-xml 中,我使用维度声明定义了按钮文本的大小:

android:textSize="@dimen/campaign_textfontsize"

我在“/ values”子目录中创建了一个 dimens.xml,并带有相应的值

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="campaign_textfontsize">18dp</dimen>
</resources>

然后我创建了第二个值文件夹“/ values-sw720dp”并将旧的 dimens.xml 复制到其中。在这个 dimens.xml 中,我调整了 fontsize 值:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="campaign_textfontsize">24dp</dimen>
</resources>

基于当前的屏幕大小 android 选择适当的 dimens-value。所以没有任何代码,字体适应显示(和显示相关的按钮)大小。

希望这有帮助。。。

17

我有同样的问题,但我意识到sp/db处理这种问题的效率不高,我处理我的对齐和字体大小相关的东西编程。

这里是步骤,我如何处理这个问题。

计算设备的屏幕宽度和高度

使用 SetTextView.setTextSize(unit, size),其中 unit 参数为TypedValue.COMPLEX_UNIT_PX,size 参数为屏幕总宽度的百分比。通常,对我来说,字体总宽度的.5% 是合适的。您可以尝试其他总宽度百分比,如 0.4% 或 0.3%。

这样,您的字体size将始终适合每个文本 / 屏幕尺寸。

1

无需动态更改 textsize 使用 sp for textsize 它会根据屏幕分辨率自动排列文本大小。就像在手机中一样。

android:textSize="10sp"
0

这是一个很老的问题,但另一个现代的解决方案可以非常方便。
有了支持库,26 + 新的文本自动调整大小是可用的。
简单地说,您定义 TextView 大小和文本大小会自动增加 / 减少以匹配它的界限:

<TextView
    android:layout_width="match_parent"
    android:layout_height="200dp"
    app:autoSizeTextType="uniform"
    app:autoSizeMinTextSize="12sp"
    app:autoSizeMaxTextSize="100sp"
    app:autoSizeStepGranularity="2sp" />
More onAutosizing TextViews

在这里添加使用 ConstraintLayout 以屏幕百分比设置 TextView 大小的功能,您可以创建在任何设备上看起来几乎相同的布局。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(353)
Ios轨迹记录:iOS Callkit-来电记录历史记录
上一篇
Ios手柄映射软件:Nimbus游戏手柄 d-pad映射
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(83条)