为什么低分辨率设备会删除我的左边距?

时间:2014-05-28 14:58:14

标签: android android-layout layout

我有以下xml:

<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res/com.bla"
   android:orientation="vertical" 
   android:id="@+id/root_layout"
   android:layout_width="300dp" 
   android:layout_height="456dp"
   android:layout_gravity="center"
   android:background="@drawable/signup_popup"
   android:padding="0dp">

      ...


                <LinearLayout 
               android:layout_width="match_parent"
               android:layout_height="wrap_content"
               android:layout_gravity="center"
               android:layout_alignParentBottom="true"
               android:layout_marginBottom="20dp"
               android:layout_marginTop="20dp"
               android:orientation="vertical"
            >
               <com.bla.view.text.blaTextView
                  android:layout_width="match_parent"
                  android:layout_height="52dp"
                  android:layout_marginLeft="12dp"
                  android:layout_marginRight="12dp"
                  android:layout_weight="4"
                  android:layout_gravity="center_vertical"
                  android:background="@drawable/signup_bt_blue"
                  android:padding="0dp"
                  android:textColor="@color/solid_white"
                  android:textSize="18dp"
                  android:textStyle="italic"
                  android:text="Sign in"
                  android:gravity="center"
                  android:clickable="true"
                  android:id="@+id/account_details_continue"
                  android:ellipsize="end" android:singleLine="true"
               />

               <com.bla.view.text.blaTextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="6dp"
            android:paddingRight="6dp"
            android:layout_marginRight="5dp"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="10dp"
            style="@style/textSignUp"
            android:textSize="16dp"
            android:textStyle="italic"
            android:textColor="#8fc0ce"
            android:text="Already a blar?" 
            android:gravity="center_horizontal"
            android:id="@+id/account_details_title3"
         />
            </LinearLayout>


</RelativeLayout>

在高分辨率设备(Nexus 4,5)上,它显示布局正常(参见附图中的右图)

但是,当我部署在低分辨率设备(Nexus S,索尼爱立信Xperia Arc S - LT18a。)上时,它看起来就像附图中的左图。

意味着+id/account_details_continue"与其父级左对齐。

我只使用一个layout.xml而不是每个屏幕分辨率

我试图在右边放置更大的边距,但它看起来一样

      <com.bla.view.text.blaTextView
          android:layout_width="match_parent"
          android:layout_height="52dp"
          android:layout_marginLeft="42dp"
          android:layout_marginRight="2dp"
          android:layout_weight="4"
          android:layout_gravity="center_vertical"
          android:background="@drawable/signup_bt_blue"
          android:padding="0dp"
          android:textColor="@color/solid_white"
          android:textSize="18dp"
          android:textStyle="italic"
          android:text="Sign in"
          android:gravity="center"
          android:clickable="true"
          android:id="@+id/account_details_continue"
          android:ellipsize="end" android:singleLine="true"
       />

我该如何解决这个问题?

enter image description here

2 个答案:

答案 0 :(得分:1)

好像它似乎是Android 2.3.3上的一个错误

将子边距更改为父填充解决了这个问题

        <LinearLayout 
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:layout_gravity="center"
       android:layout_alignParentBottom="true"
       android:layout_marginBottom="20dp"
       android:paddingLeft="12dp"
       android:paddingRight="12dp"
       android:layout_marginTop="20dp"
       android:orientation="vertical"
    >
       <com.bla.view.text.blaTextView
          android:layout_width="match_parent"
          android:layout_height="52dp"
          android:layout_weight="4"
          android:layout_gravity="center_vertical"
          android:background="@drawable/signup_bt_blue"
          android:padding="0dp"
          android:textColor="@color/solid_white"
          android:textSize="18dp"
          android:textStyle="italic"
          android:text="Sign in"
          android:gravity="center"
          android:clickable="true"
          android:id="@+id/account_details_continue"
          android:ellipsize="end" android:singleLine="true"
       />

答案 1 :(得分:0)

尝试使用以下内容来调整视图:

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="52dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:layout_marginLeft="12dp"
    android:layout_marginRight="12dp"
    android:text="TextView" />

在相对布局中使用它。请注意,宽度是wrap_content