android - 在 ppi 较小的设备上,字体和图标看起来很暗淡且像素化
问题描述
我有个问题。在具有较小 ppi(每英寸像素数)的屏幕上,字体和图标看起来暗淡且像素化。在右侧的第二个屏幕上,还有另一个应用程序,但在同一设备上,一切正常(当然,左侧稍微增加以对齐字体大小,因此比它的像素化多一点,但仍然)。屏幕三星 Galaxy Tab SM-T531
我使用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>
有人可以帮我吗?谢谢。
解决方案
Scale-independent Pixels - This is like the dp unit, but it is also scaled by the user's font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and the user's preference.
use text size in sp instead dp
That means use android:textSize="21sp"
instead android:textSize="21dp"
etc
**scale independent Pixels= sp
**density independent Pixels= dp
Read here for more detailed info
推荐阅读
- sql - SELECT 是否比嵌套 INSERT 的函数“更快”?
- javascript - 更新子组件内部状态时如何重新渲染子组件
- sql - 在共享相同超类的两个子类之间建立关系(IS-A 关系)是否合法?
- javascript - hudson.AbortException:Ansible 剧本执行失败詹金斯
- r - 过滤数据框的数据。失败的。运行时错误
- html - 如何放置
我在页面中有一些相互下方的图像,并希望在图像上垂直而不是水平添加跨度覆盖文本。我当前的代码水平显示(在 iPhone 屏幕上)跨度覆盖文本,但我想垂直显示它并从中读取自下而上。希望你们帮助我。谢谢
c++ - 架构 x86_64 的未定义符号:但有一个主要功能
- php - phpMyAdmin 4.6 持久登录
- java - 如何从数据库中选择第一行/第一行
- python - 为什么 numpy 的 sin 函数绘制直线图?