Android studio - 在物理设备上运行后,相对布局错放了项目

时间:2017-06-22 19:58:43

标签: android emulation android-relativelayout

希望你能帮助我解决我的问题,我有三个TextView和一个sepparator,在我的相对布局上,我已经安排了它们的设计师,但是在我在一个物理设备上运行之后,只有一个项目出现,甚至那个项目放错了地方。我必须告诉你,我来这里搜了好几个小时才问这个问题,所以请帮助我!

这是XML文件

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="44dp"
android:paddingTop="24dp"
tools:ignore="RtlSymmetry">

<TextView
    android:id="@+id/tv_time"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignStart="@+id/tv_today_date"
    android:gravity="end|center_vertical"
    android:paddingEnd="16dp"
    android:textAlignment="center"
    android:textSize="56sp"
    android:visibility="visible"
    tools:text="12:34" />

<TextView
    android:id="@+id/tv_today_date"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="end"
    android:paddingEnd="16dp"
    android:text="Tue, 20 Apr"
    android:textSize="16sp"
    android:layout_below="@+id/tv_today_time"
    android:layout_toStartOf="@+id/separator" />

<View
    android:id="@+id/separator"
    android:layout_width="0.05dp"
    android:layout_height="0.05dp"
    android:layout_alignBottom="@+id/tv_today_date"
    android:layout_alignTop="@+id/tv_today_time"
    android:layout_centerHorizontal="true"
    android:background="#66FFFFFF" />

<TextView
    android:id="@+id/tv_location"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="start"
    android:paddingStart="16dp"
    android:textSize="16sp"
    tools:text="Bucharest"
    android:layout_below="@+id/tv_today_time"
    android:layout_toEndOf="@+id/separator" />

如果需要,我会发布一些截图。

此外,我还有其他一些问题,所以如果有人想帮助我,请告诉我:)

EDIT 在这里,我希望它是:Designer

以下是我得到的内容:Phisical device

2 个答案:

答案 0 :(得分:1)

选项1:使用约束布局(材料设计)
选项2:包装tv_today_date分隔符&amp; LinearLayout中的tv_location具有水平方向。将此LinearLayout放在tv_time

下面

答案 1 :(得分:0)

这对我来说很好。检查一下,让我知道。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="24dp"
   >

    <TextView
        android:id="@+id/tv_time"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:gravity="end|center_vertical"
        android:paddingRight="16dp"
        android:textAlignment="center"
        android:textSize="56sp"
        android:visibility="visible"
        android:text="12:34" />

    <View
        android:id="@+id/separator"
        android:layout_width="0.05dp"
        android:layout_height="0.05dp"
        android:layout_alignBottom="@+id/tv_today_date"
        android:layout_alignTop="@id/tv_time"
        android:layout_centerHorizontal="true"
        android:background="#66FFFFFF" />

    <TextView
        android:id="@+id/tv_today_date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="end"
        android:paddingRight="16dp"
        android:text="Tue, 20 Apr"
        android:textSize="16sp"
        android:layout_below="@id/tv_time"
        android:layout_toLeftOf="@id/separator" />


    <TextView
        android:id="@+id/tv_location"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="start"
        android:paddingLeft="16dp"
        android:textSize="16sp"
        android:text="Bucharest"
        android:layout_below="@id/tv_time"
        android:layout_toRightOf="@id/separator" />

    </RelativeLayout>