gpt4 book ai didi

java - 根据字数更改文本大小 - android

转载 作者:行者123 更新时间:2023-12-02 10:56:12 28 4
gpt4 key购买 nike

我正在使用一个库来帮助自动将文本调整到按钮中,但是即使它适用于三部 Android 手机,对于更大的 Android 手机,一些文本的大小会随机缩小,即使它们不需要这样做。屏幕截图中的示例显示:enter image description here

所以我有了一个想法。我将把 xml 设置为普通按钮,如下所示:

<Button
android:id="@+id/btnans4"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_marginBottom="10dp"
android:layout_marginTop="5dp"
android:background="@drawable/blue"
android:padding="5dp"
android:text="Answer - 4"
android:textColor="@color/white"
android:textSize="15sp"/>

按钮 1、2 和 3 具有与上面相同的 xml,但 id 和文本不同。

我正在考虑使用动态文本大小。因此,我将从上面的 xml 中删除 textSize 15sp,而是执行以下操作:

  • 如果按钮包含超过 5 个单词,则该按钮的文本大小 = 12sp,否则为 15sp。

如何实现这一目标?

Button btnans1, btnans2, btnans3, btnans4;

btnans1 = findViewById(R.id.btnans1);
btnans2 = findViewById(R.id.btnans2);
btnans3 = findViewById(R.id.btnans3);
btnans4 = findViewById(R.id.btnans4);

最佳答案

首先将这些行放入 res/values 文件夹中的 dimens.xml 中,以定义 2 个所需的文本大小:

<dimen name="btn_text_size_small">12sp</dimen>
<dimen name="btn_text_size_normal">15sp</dimen>

接下来使用此代码应用文本大小:

    Button[] buttons = {btnans1, btnans2, btnans3, btnans4};

for (int i = 0; i < buttons.length; i++) {
String text = buttons[i].getText().toString().trim();

String[] words = text.split(" ");

Float size;

if (words.length > 5) {
size = getResources().getDimension(R.dimen.btn_text_size_small);
} else {
size = getResources().getDimension(R.dimen.btn_text_size_normal);
}

buttons[i].setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
}

希望没有错别字。

关于java - 根据字数更改文本大小 - android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51716403/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com