我在使用(我认为)简单的 LinearLayout 时遇到了问题。(长问题 - 抱歉)我有一个带有 RelativeLayout 的 XML 布局,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/display_Player_Init"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="Player" />
<TextView
android:id="@+id/display_USGA_Index"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="5dp"
android:gravity="right"
android:layout_toRightOf="@+id/display_Tees"
android:text="IDX" />
<TextView
android:id="@+id/display_Course_HCP"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="5dp"
android:gravity="right"
android:layout_toRightOf="@+id/display_USGA_Index"
android:text="HCP" />
<TextView
android:id="@+id/display_Course"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@+id/display_Player_Init"
android:text="Course" />
<TextView
android:id="@+id/display_Tees"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@+id/display_Course"
android:text="Tees" />
</RelativeLayout>
这在 IDE 预览中正确显示如下:
废话,没有足够的代表点来发布图像。
并且应用程序正确显示了这一点(注意 5 个值的顺序):
没有足够的代表点来发布图像。
RelativeLayout 似乎过于庞大,我只想使用更简单的 LinearLayout,如下所示:
<?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="horizontal"
>
<TextView
android:id="@+id/display_Player_Init"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:text="Player" />
<TextView
android:id="@+id/display_USGA_Index"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:gravity="right"
android:text="IDX" />
<TextView
android:id="@+id/display_Course_HCP"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:gravity="right"
android:text="HCP" />
<TextView
android:id="@+id/display_Course"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="Course" />
<TextView
android:id="@+id/display_Tees"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="Tees" />
</LinearLayout>
在 IDE 中正确预览如下(请注意,第一个布局中的字段顺序不正确。我即将更正):
没有足够的代表点来发布图像。
并在应用程序中正确呈现如下:
没有足够的代表点来发布图像。
现在,当我更改 LinearLayout XML 中 TextViews 的顺序时,它呈现的好像字段中显示了错误的值。这是 XML:
<?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="horizontal"
>
<TextView
android:id="@+id/display_Player_Init"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:text="Player" />
<TextView
android:id="@+id/display_Course"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="Course" />
<TextView
android:id="@+id/display_Tees"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="Tees" />
<TextView
android:id="@+id/display_USGA_Index"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:gravity="right"
android:text="IDX" />
<TextView
android:id="@+id/display_Course_HCP"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:gravity="right"
android:text="HCP" />
</LinearLayout>
这是(正确的)IDE 预览: 没有足够的代表点来发布图像。
但是,这是应用程序渲染:
没有足够的代表点来发布图像。 它将字符串“ABC CC”放在右列中,并将其包装起来,就好像将字符串放在 HCP 字段中一样。
请注意,字段顺序是正确的,但值会以某种方式切换。XML 字段以正确的顺序呈现,但字段的值是:Name、Index、Tees、HCP、Course,其中“course”的值被包装到 HCP 字段的宽度。
这些示例之间没有更改任何代码,因此似乎是 xml 导致了问题。谁能帮我理解为什么?(抱歉没有图片。)
谢谢。