2015-06-22 77 views
0

我有佈局定位奇怪的問題。 這裏有2個屏幕。Android奇怪的佈局定位

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上 - 只有填充工作正常。

所以,我很有趣爲什麼會發生,我該怎麼做才能防止這種情況。

加成

如果我使用

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

效果是未來:

enter image description here

回答

0

你應該在標籤上使用android:singleLine="true"以確保它永遠不會包裝無論其大小是。

+0

如果我使用'singleLine'文本被切斷,並且不希望看到此行爲。我明天可以提供屏幕。 – Anatol

+0

我做了singleLine效果的屏幕截圖。 – Anatol

0

在您的佈局中使用此功能。

機器人:單線=「真」

+0

如果我正在使用'singleLine',文本正在切割,並且不想看到這種行爲。我明天可以提供屏幕。 – Anatol