1

我正在为我的游戏创建最终分数屏幕。

我在将布局中的文本与文本“原始分数”“奖励积分”和“最终分数”对齐时遇到了麻烦。

无论出于何种原因,如果我在布局编辑器中排列文本,如图所示,在手机上结果很好。如果我在布局编辑器中按应有的方式排列文本,那么它将在手机上偏移。

  • 有没有可靠的方法让 Eclipse 布局编辑器和我的手机一致?
  • 有没有一种可靠的方法可以使这种布局在不同尺寸和像素密度的手机上正确对齐?

如果重要的话,我正在使用全屏主题。如果需要,我也可以发布其余的 xml。

在手机上正确显示

布局编辑器的视图,未对齐

这是相关的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="fill_parent">

        <LinearLayout android:orientation="vertical" android:id="@+id/FinalTally_Layout" android:background="@drawable/layoutbackgroundlarge" android:layout_weight="1" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="95dp">

            <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content">
                <TextView android:textColor="#FF000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="  Raw Score" android:id="@+id/RawScoreLabel" android:gravity="left|center_vertical" android:textSize="22dp" android:layout_weight="1"></TextView>
                <TextView android:textColor="#FF000000" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="3200  " android:id="@+id/RawScore" android:gravity="right|center_vertical" android:textSize="22dp" android:layout_weight="1"></TextView>
            </LinearLayout>

            <LinearLayout android:id="@+id/linearLayout3" android:layout_width="fill_parent" android:layout_height="wrap_content">
                <TextView android:textColor="#FF000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="  Bonus Points" android:id="@+id/BonusPointsLabel" android:gravity="left|center_vertical" android:textSize="22dp"></TextView>
                <TextView android:textColor="#FF000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="1900  " android:layout_weight="1" android:id="@+id/BonusPoints" android:gravity="right|center_vertical" android:textSize="22dp"></TextView>
            </LinearLayout>

            <LinearLayout android:id="@+id/linearLayout6" android:layout_width="fill_parent" android:layout_height="wrap_content">
                <TextView android:textColor="#FF000000" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="  Final Score" android:layout_weight="1" android:id="@+id/FinalScoreReportLabel" android:gravity="left|center_vertical" android:textSize="22dp" android:textStyle="bold"></TextView>
                <TextView android:textColor="#FF000000" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="5100  " android:layout_weight="1" android:id="@string/FinalScoreReport" android:gravity="right|center_vertical" android:textSize="22dp" android:textStyle="bold"></TextView>
            </LinearLayout>

        </LinearLayout>


</LinearLayout>
4

2 回答 2

3

艾伦,

View您可以通过插入具有所需背景颜色的 a 来动态生成一条细线,而不是将该分隔线作为该部分的背景图像的一部分。

尝试...

    <LinearLayout android:orientation="vertical" android:id="@+id/FinalTally_Layout" android:background="@drawable/layoutbackgroundlarge" android:layout_weight="1" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="95dp">

        <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content">
            <TextView android:textColor="#FF000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="  Raw Score" android:id="@+id/RawScoreLabel" android:gravity="left|center_vertical" android:textSize="22dp" android:layout_weight="1"></TextView>
            <TextView android:textColor="#FF000000" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="3200  " android:id="@+id/RawScore" android:gravity="right|center_vertical" android:textSize="22dp" android:layout_weight="1"></TextView>
        </LinearLayout>

        <LinearLayout android:id="@+id/linearLayout3" android:layout_width="fill_parent" android:layout_height="wrap_content">
            <TextView android:textColor="#FF000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="  Bonus Points" android:id="@+id/BonusPointsLabel" android:gravity="left|center_vertical" android:textSize="22dp"></TextView>
            <TextView android:textColor="#FF000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="1900  " android:layout_weight="1" android:id="@+id/BonusPoints" android:gravity="right|center_vertical" android:textSize="22dp"></TextView>
        </LinearLayout>

        <View android:layout_height="1px" android:layout_width="fill_parent"android:background="#90909090"/>

        <LinearLayout android:id="@+id/linearLayout6" android:layout_width="fill_parent" android:layout_height="wrap_content">
            <TextView android:textColor="#FF000000" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="  Final Score" android:layout_weight="1" android:id="@+id/FinalScoreReportLabel" android:gravity="left|center_vertical" android:textSize="22dp" android:textStyle="bold"></TextView>
            <TextView android:textColor="#FF000000" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="5100  " android:layout_weight="1" android:id="@string/FinalScoreReport" android:gravity="right|center_vertical" android:textSize="22dp" android:textStyle="bold"></TextView>
        </LinearLayout>

    </LinearLayout>

于 2011-10-31T18:00:18.993 回答
1

布局编辑器很不稳定。总之,没有没有办法让他们同意。去看看你在手机上看到的。

如果我可以提供一点建议,请尽可能使用 RelativeLayout 而不是嵌套 LinearLayouts。

于 2011-10-31T17:55:15.170 回答