Android模拟器和Eclipse SDK视图布局之间的差异

时间:2011-10-25 16:29:24

标签: android android-layout

我正在尝试显示一个带有一系列按钮的简单表格,以及右侧的标签(黑色文字)。

首先,SDK图形布局中的所有内容都是正确的。现在,(没有做任何更改)SDK中的一切看起来都是正确的,除了文本不是黑色这样的事实:

Eclipse Graphical Layout View

当我在模拟器中运行它时,一切看起来都是中心的,文本是正确的颜色,但只显示文本的左侧。

Running in the Emulator

这里发生了什么?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent" android:orientation="vertical" android:background="@drawable/map_description_background">
    <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/tableLayout1" android:layout_gravity="fill_horizontal">
        <TableRow android:id="@+id/tableRow1" android:layout_height="wrap_content" android:layout_marginTop="75px" android:layout_width="wrap_content">
            <ToggleButton android:textOff="Nautical" android:textOn="Statued" android:id="@+id/unitsButton" android:layout_width="wrap_content" android:layout_height="wrap_content"></ToggleButton>
            <TextView android:textAppearance="?android:attr/textAppearanceLarge" android:text="Units" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/textView1" android:textColor="@color/maincolors"></TextView>
        </TableRow>
        <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <ToggleButton android:textOff="GPS" android:textOn="Magnetic" android:id="@+id/toggleButton2" android:layout_width="wrap_content" android:layout_height="wrap_content"></ToggleButton>
            <TextView android:textAppearance="?android:attr/textAppearanceLarge" android:text="Heading" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/textView3" android:textColor="@color/maincolors"></TextView>
        </TableRow>
        <TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content">
            <Button android:text="Help" android:onClick="clickHelpButton" android:id="@+id/helpButton" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
        </TableRow>
        <TableRow android:id="@+id/tableRow4" android:layout_width="wrap_content" android:layout_height="wrap_content"></TableRow>
    </TableLayout>
    <Button android:text="Done" android:id="@+id/done" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="clickDoneButton"></Button>

</LinearLayout>

1 个答案:

答案 0 :(得分:1)

Eclipse SDK视图和模拟器并不总是相互聚合;)但模拟器通常与设备共存:)

我不确定为什么你的代码会起作用,通常它与填充/边距有关,但也可能是textapperancelarge(不是我自己使用)。另外不要使用margin =“75px”真的不建议使用像px这样的硬编码值,而是使用sp代替。请参阅What is the difference between "px", "dp", "dip" and "sp" on Android?以供参考。