2017-07-18 100 views
0

我测试了仿真器和真实设备,但是您可以看到40 dp和40.2 dp之间没有变化!我正在研究一个字体敏感度非常高的项目,问题在于android文本引擎的行为。Android TextView小数尺寸问题

有什么办法可以防止这种情况发生?

请帮忙!

这是代码:

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="SAMPLE TEXT" 
      android:textSize="40dp" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="SAMPLE TEXT" 
      android:textSize="40.2dp" /> 

    </LinearLayout> 

结果:

+0

看到这个: https://stackoverflow.com/questions/23981260/should-use-sp-instead-of-dp-for-text-sizes – 2017-07-18 09:45:33

+0

DP而不是使它SP和检查 –

回答

0

你应该总是使用字体的SP,因为它尊重用户的喜好

<TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="SAMPLE TEXT" 
     android:textSize="40sp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="SAMPLE TEXT" 
     android:textSize="40.2sp" /> 
+0

不幸的是没有变化。问题是android文本引擎的行为。 – seyfx

0
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="SAMPLE TEXT" 
    android:textSize="40sp" /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="SAMPLE TEXT" 
    android:textSize="40.2sp" /> 

你可以看到这样的区别(在android studio中你需要放大布局屏幕)。没有android文本引擎的行为问题。

enter image description here

+0

这个问题是Android文本引擎的行为。我试过dp,sp,px。我注意到,当在android textview中使用setTextSize方法指定字体大小时,字体大小的小数是根据分辨率确定的,我通过使用getTextSize方法实现了这一点。有一种舍入机制。另见http://imgur.com/a/JpEps – seyfx