我设计了一个屏幕,所有屏幕都在dp或match_parent或wrap_content中。这意味着在任何屏幕上,无论分辨率或屏幕尺寸如何,如果错误都要纠正我。
(Nexus 4)
它就像这样(Nexus 5)
这是XML代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context="com.techiequickie.bharath.parsetest.PlaceBet">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="53dp"
android:background="@android:color/holo_green_light"
android:weightSum="1"
android:paddingLeft="20dp"
android:paddingRight="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="BOA"
android:id="@+id/textView"
android:layout_gravity="center"
android:textColor="#ffbf0c16" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/imageButton"
android:clickable="true"
android:src="@mipmap/ic_action"
android:layout_gravity="center"
android:background="#ff98cb00"
android:paddingLeft="30dp" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/imageButton2"
android:clickable="true"
android:src="@mipmap/ic_action"
android:layout_gravity="center"
android:background="#ff98cb00"
android:paddingLeft="10dp" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/imageButton3"
android:clickable="true"
android:src="@mipmap/ic_action"
android:layout_gravity="center"
android:background="#ff98cb00"
android:paddingLeft="10dp" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/imageButton4"
android:clickable="true"
android:src="@mipmap/ic_action"
android:layout_gravity="center"
android:background="#ff98cb00"
android:paddingLeft="5dp" />
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="20dp"
android:paddingRight="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="New"
android:id="@+id/textView2"
android:textSize="10dp"
android:paddingLeft="100dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="My Bets"
android:textSize="10dp"
android:id="@+id/textView3"
android:paddingLeft="50dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Earnings"
android:textSize="10dp"
android:id="@+id/textView4"
android:paddingLeft="30dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Account"
android:textSize="10dp"
android:paddingLeft="30dp" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:0)
你应该在textSizes上使用sp而不是dp,你还需要为ldpi,mdpi,hdpi,xhdpi,xxhdpi添加不同的图像。
答案 1 :(得分:0)
correct me if wrong
。的 WRONG 强>
Nexus4是 xhdpi 设备,而Nexus5是 xxhdpi 设备。
这意味着 - 如果您没有为两者提供正确缩放的图形 - Android将为您执行缩放。
似乎是you provided the lower graphics
资源,因此Android会扩展 UP-wards ,引入像素化(虚假像素)或拉伸。
如果您想节省图形资源数量,则至少应提供更高分辨率图形,因此Android将扩展 DOWN-wards ,平均像素颜色。
此外,android:textSize
的正确单位是 sp ,而不是 dp 。