Android奇怪的布局定位

时间:2015-06-22 12:33:05

标签: android android-layout

布局定位我有一个奇怪的问题。 这是2个屏幕。

enter image description here

enter image description here

正如您在第一个屏幕上看到的那样,捕捉元素需要2行。 xml布局的差异在第一张图片上为android:layout_marginRight="10dp",在第二张图片上为android:paddingRight="10dp"

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="48dp">

<RelativeLayout
    android:id="@+id/rl_event_date_and_time"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_marginLeft="10dp"
    android:background="@drawable/date_time_left">

    <ImageView
        android:id="@+id/iv_date"
        android:layout_width="9dp"
        android:layout_height="10dp"
        android:layout_centerVertical="true"
        android:layout_marginLeft="12dp"
        android:background="@drawable/ic_event_date" />

    <TextView
        android:id="@+id/tv_event_date"
        fontPath="fonts/Roboto-Medium.ttf"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="6dp"
        android:layout_toRightOf="@id/iv_date"
        android:textColor="@color/white"
        android:textSize="15sp"/>

    <ImageView
        android:id="@+id/iv_time"
        android:layout_width="13dp"
        android:layout_height="13dp"
        android:layout_centerVertical="true"
        android:layout_marginLeft="9dp"
        android:layout_toRightOf="@id/tv_event_date"
        android:background="@drawable/ic_event_time" />

    <TextView
        android:id="@+id/tv_event_time"
        fontPath="fonts/Roboto-Medium.ttf"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="4dp"
        android:paddingRight="10dp" // Here is difference
        android:layout_toRightOf="@id/iv_time"
        android:textColor="@color/white"
        android:textSize="15sp"/>

</RelativeLayout>

    <Button
        android:id="@+id/btn_event_remind"
        style="@style/MaterialButtonBorderLess"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:layout_marginRight="2dp"
        android:text="@string/event_remind"
        android:visibility="gone"/>

</RelativeLayout>

另一个奇怪的是屏幕分辨率768 x 1280 - 一切都很好。但是在720 x 1280上 - 只有填充正常工作。

所以,我很有意思,为什么会发生这种情况,我该怎么做才能防止这种情况发生。

ADDITION

如果我使用

android:layout_marginRight="10dp"
android:singleLine="true"

效果如下:

enter image description here

2 个答案:

答案 0 :(得分:0)

您应该在标签上使用android:singleLine="true",以确保它永远不会包裹它的大小。

答案 1 :(得分:0)

在布局上使用此功能。

机器人:SINGLELINE = “真”