gpt4 book ai didi

java - 为什么dimen资源不一致以及如何获取正确的值?

转载 作者:行者123 更新时间:2023-12-01 22:03:53 27 4
gpt4 key购买 nike

我正在编写一个 Android 应用程序。我基本上创建了以下 dimen 资源:

<dimen name="button_text_size">11pt</dimen>

我在 xml 和 Java 代码中使用它来创建一个 Button 和一个 TextView ,其文本大小为 11pt。我是这样做的:

XML

    <Button
android:layout_width="match_parent"
android:layout_height="0dp"
android:textSize="@dimen/button_text_size"
android:text="secret!"
android:layout_margin="@dimen/button_margin"
android:background="secret!"
android:layout_weight="1"
android:onClick="secret!"/>

Java代码

TextView text = new TextView (this);
text.setLayoutParams (new LinearLayout.LayoutParams (0, ViewGroup.LayoutParams.WRAP_CONTENT, 3));
text.setText (secret);
text.setTextSize (getResources().getDimension (R.dimen.button_text_size));

理论上,两个 View 的文本大小应该相同。但 TextView 的文本尺寸似乎更大!我不知道为什么会发生这种情况。我猜这是因为设备出现了一些问题,但实际发生了什么?如何获取正确值?

最佳答案

试试这个

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX,getResources().getDimension(R.dimen.button_text_size));

最好按照 android 文档使用 sp(“缩放像素”) 作为文本大小 http://developer.android.com/intl/es/reference/android/widget/Button.html

关于java - 为什么dimen资源不一致以及如何获取正确的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33183961/

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