带有小ppi的设备上的字体和图标看起来很呆滞并且像素化

时间:2018-12-15 13:14:01

标签: android xamarin.android

我有问题。 在具有较小ppi(每英寸像素数)的屏幕上,字体和图标看起来很暗淡且像素化。在右侧的第二个屏幕上,有另一个应用程序,但是在同一设备上,一切正常(当然,稍微增加了左侧以对齐字体大小,因此像素化比实际要多一些,但仍然)。屏幕上的Samsung Galaxy Tab SM-T531

enter image description here

我使用 xamarin.android

<FrameLayout xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    card_view:cardElevation="0.5dp"
    card_view:cardMaxElevation="0.5dp"
    card_view:cardUseCompatPadding="true"
    card_view:cardCornerRadius="0dp"
    android:minWidth="25px"
    android:minHeight="25px">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"  
        android:padding="1dp">
        <ImageView
            android:layout_width="45dp"
            android:layout_height="45dp"                
            android:adjustViewBounds="true"
            android:id="@+id/imageView"                      
            />
        <ImageView
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_marginTop="25dp"
            android:layout_marginLeft="-15dp"
            android:layout_toRightOf="@+id/imageView"
            android:id="@+id/sensorImageView"                        
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#333333"
            android:textSize="21dp"
            android:text="Caption"
            android:layout_marginLeft="10dp" 
            android:layout_toRightOf="@+id/imageView"                       
            android:id="@+id/nameTextView"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#333333"
            android:textSize="10dp"
            android:text="Description"              
            android:layout_marginLeft="10dp" 
            android:layout_toRightOf="@+id/imageView"
            android:layout_below="@+id/nameTextView"
            android:id="@+id/descTextView"              
            />
        <ImageView
            android:layout_width="21.5dp"
            android:layout_height="21.5dp"
            android:layout_alignParentRight="true"
            android:layout_marginTop="3dp"
            android:layout_marginRight="85dp"
            android:id="@+id/stateImageView"                         
            />
        <TextView
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#333333"
            android:textSize="20dp"
            android:layout_marginRight="30dp"
            android:layout_alignParentRight="true"
            android:text="-13.07"
            android:textAlignment="textEnd"
            android:id="@+id/mainValueTextView"                              
            />
        <TextView
            android:layout_width="27dp"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#333333"
            android:textSize="10dp"
            android:text="ob/m"     
            android:layout_alignParentRight="true"
            android:id="@+id/mainValueSymbolTextView"               
            />
        <TextView
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#333333"
            android:textSize="10dp"
            android:text="1`23123"
            android:textAlignment="textEnd"
            android:layout_alignParentRight="true"
            android:layout_marginTop="1dp"
            android:layout_marginRight="30dp"
            android:layout_below="@+id/mainValueTextView"
            android:id="@+id/addValueTextView"
            />
        <TextView
            android:layout_width="27dp"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#333333"
            android:textSize="10dp"
            android:text="квт/ч"
            android:textAlignment="textStart"
            android:layout_alignParentRight="true"
            android:layout_marginTop="1dp"
            android:layout_below="@+id/mainValueTextView"
            android:id="@+id/addValueSymbolTextView"
            />
    </RelativeLayout>   
</android.support.v7.widget.CardView>

有人可以帮助我吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

  

与比例无关的像素-就像dp单位一样,但是它也通过用户的字体大小首选项进行缩放。建议您在指定字体大小时使用本机,以便针对屏幕密度和用户的喜好进行调整。

在sp中使用文本大小,而不是dp

这意味着使用android:textSize="21sp"代替android:textSize="21dp"

**比例独立像素= sp

**密度独立像素= dp

阅读here了解更多详细信息