Android布局显示错误

时间:2015-03-25 14:57:18

标签: xml android-layout android-linearlayout

我设计了一个屏幕,所有屏幕都在dp或match_parent或wrap_content中。这意味着在任何屏幕上,无论分辨率或屏幕尺寸如何,如果错误都要纠正我。

(Nexus 4) BOA

它就像这样(Nexus 5)

enter image description here

这是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>

2 个答案:

答案 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