我有一个应用程序,textview的文本大小在4.7英寸设备(屏幕密度2.0)上看起来非常精细。但是在7英寸设备(屏幕密度1.0)上,它的尺寸不会根据设备尺寸而增加,看起来非常糟糕。任何帮助?
请找到代码。 `
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/listitem_selector"
android:paddingTop="5dip"
android:paddingBottom="5dip"
android:paddingLeft="8dip"
android:paddingRight="8dip">
<ImageView
android:id="@+id/iconImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:background="#FFFFFF"
android:layout_gravity="center_vertical"/>
<LinearLayout
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingLeft="25dip"
android:gravity="center"
>
<TextView
android:id="@+id/repairText"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight=".7"
android:layout_gravity="center"
android:text="Ashish"
android:textSize="15sp"
android:layout_marginTop="3dip"
android:textStyle="bold"
android:textColor="#525c69"/>
<TextView
android:id="@+id/repairInfo"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight=".3"
android:layout_gravity="bottom"
android:text="Ashish"
android:layout_marginBottom="3dip"
android:textSize="10sp"
android:textColor="#7f8d9f"/>
</LinearLayout>
<ImageView
android:id="@+id/statusImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dip"
android:layout_gravity="center_vertical"/>
android:layout_width="match_parent"
android:layout_height="1dip"
android:background="@drawable/horizontaldivider"
android:layout_marginRight="10dip"
android:layout_marginLeft="10dip"
/>
`
答案 0 :(得分:0)
要使字体相应缩放,您必须使用sp
作为文本大小值的单位。这将使字体大小取决于系统首选项和设备分辨率。
如果仍然不够,您可以通过限定符和资源维度文件为不同的设备定义不同的文本大小。添加一个名为eg的文件对于大型设备,dimen.xml
为/values-large/
,而/values-small/
等为{{1}}等。{/ p>
然后您可以引用这些值,Android会自动使用适合当前设备的维度。
您可以找到有关维度资源here的更多信息。