尽一切努力,我终于到达了我在 android 中的第一个应用程序的末尾。并感谢所有。但在结束后,我意识到一件事,我的应用程序文本大小在所有平板电脑大小中是常见的。所以我将重新框架我的问题。
问题:我在整个应用程序中使用了我自己的自定义文本大小,或者在 7 英寸平板电脑中使用了一些其他的文本大小。但是当我在 8.9 英寸和 10.1 英寸平板电脑中寻找相同的东西时,它包含的大量空白和文本大小也相对较小。那么是否有一些方法可以根据我的平板电脑大小动态更改文本大小????它可能看起来是新手问题,但我正在努力
EDITED::根据 Cheeta 答案,方法是正确的,但我不能为每个布局按钮和文本字段和其他字段这样做。在单个应用程序中有数百个这样的字段。我可以在某个地方做,并将其称为必需属性。自定义标签是我正在寻找的方法。
任何帮助将不胜感激。提前感谢。
注意我还没有找到答案,但是猎豹的答案在某种程度上导致了正确的方法。尽管他的答案几乎没有对齐问题,但我将他的答案标记为正确。欢迎任何其他答案。谢谢
在检查了一些资源后,我终于想出了以下解决方案:在 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。所以没有任何代码,字体适应显示(和显示相关的按钮)大小。
希望这有帮助。。。
我有同样的问题,但我意识到sp/db
处理这种问题的效率不高,我处理我的对齐和字体大小相关的东西编程。
这里是步骤,我如何处理这个问题。
计算设备的屏幕宽度和高度
使用 SetTextView.setTextSize(unit, size)
,其中 unit 参数为TypedValue.COMPLEX_UNIT_PX
,size 参数为屏幕总宽度的百分比。通常,对我来说,字体总宽度的.5% 是合适的。您可以尝试其他总宽度百分比,如 0.4% 或 0.3%。
这样,您的字体size
将始终适合每个文本 / 屏幕尺寸。
无需动态更改 textsize 使用 sp for textsize 它会根据屏幕分辨率自动排列文本大小。就像在手机中一样。
android:textSize="10sp"
这是一个很老的问题,但另一个现代的解决方案可以非常方便。
有了支持库,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 大小的功能,您可以创建在任何设备上看起来几乎相同的布局。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(83条)