2010-12-23 71 views
0

我面对这样的问题,在同样的屏幕尺寸上不同的同一个xml布局的油漆,有两个图像,第一个是eclipse ADT布局油漆,第二个是模拟器布局油漆。android显示切割的布局EditText

alt text alt text

我的问题:

  1. 为什么如此不同?

  2. 如何 创建正常的文本框是 没有切割(在两个图像上)?

布局的xml:

<?xml version="1.0" encoding= "utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" android:layout_height="fill_parent" 
     android:orientation="vertical" android:gravity= "center" 
     android:layout_weight="1" > 
     <LinearLayout android:orientation="horizontal" 
      android:layout_width="fill_parent" android:layout_height="fill_parent" 
      android:layout_weight="0.33" > 
     </LinearLayout> 
     <LinearLayout android:orientation="vertical" 
      android:layout_width="fill_parent" android:layout_height="fill_parent" 
      android:layout_weight="0.33" android:gravity= "center"> 
      <TextView android:text="@string/entertitle" android:id="@+id/EnterTitle" 
        android:gravity="center" android:layout_width="wrap_content" 
        android:layout_height="wrap_content" android:textStyle="bold" ></TextView> 
      <LinearLayout android:layout_width="fill_parent" 
        android:layout_height="fill_parent" android:layout_weight="1" 
        android:orientation="horizontal" android:gravity="center" > 

        <LinearLayout android:layout_width="wrap_content" 
         android:layout_height="fill_parent" android:layout_weight="0.3" 
         android:orientation="vertical" android:gravity="center" > 

         <TextView android:text="@string/yourlogin" android:id="@+id/YourLogin" 
           android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth='150dp' ></TextView> 
         <TextView android:text="@string/password" android:id="@+id/YourPass" 
           android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth='150dp' ></TextView> 
        </LinearLayout> 
        <LinearLayout android:layout_width="fill_parent" 
         android:layout_height="fill_parent" android:layout_weight="0.7" 
         android:orientation="vertical" android:gravity="center" > 
         <EditText android:text="" android:id="@+id/EditLogin" 
           android:layout_width="wrap_content" android:layout_height="wrap_content" 
           android:minWidth='150dp' android:gravity="right" ></EditText> 

         <EditText android:text="" android:id="@+id/EditPass" 
           android:layout_width="wrap_content" android:layout_height="wrap_content" 
           android:gravity="right" android:minWidth='150dp' ></EditText> 
        </LinearLayout> 
      </LinearLayout> 
      <LinearLayout android:layout_width="fill_parent" 
        android:layout_height="fill_parent" android:layout_weight="1" 
        android:orientation="horizontal" android:gravity="center" > 
        <CheckBox android:text="@string/saveauth" android:id="@+id/CheckSavePass" 
         android:layout_width="wrap_content" android:layout_height="wrap_content" ></CheckBox> 
        <Button android:text="@string/entertitle" android:id="@+id/ButtonEnter" 
         android:layout_width="wrap_content" android:layout_height="wrap_content" ></Button> 

      </LinearLayout> 
     </LinearLayout> 
     <LinearLayout android:orientation="horizontal" 
      android:layout_width="fill_parent" android:layout_height="fill_parent" 
      android:layout_weight="0.33" > 
     </LinearLayout> 



</LinearLayout> 

回答

1

是啊,我面对前一个类似的问题,我试图设置的TextView的右对齐,所以我在XML文件中把layout_gravity = “right” 和它显示了我想要的ADT布局,但在Android上运行时,文本仍然对齐到左侧...

我解决这个问题的方法是将此视图放入RelativeLayout,然后使用android: gravity =“center_vertical | right”在RelativeLayout标签中。

很难说您的项目对您的项目有效,但您可能需要试一试。

顺便说一句:我不知道他们为什么看起来不同,但我相信em的结果比布局油漆更真实。

1

我重新扫描了你的XML,看起来在ADT布局油漆视图中,两个Textviews都没有显示出来,所以当你运行这个emu时,你点击第一个按钮使它激活,系统似乎将视图向下拖动一点,以便第一个视图完全显示,从而使第二个视图看起来更清晰。

0

试试这个:

`

<TableRow> 
    <TextView 
     android:text="PASSWORD" 
     android:layout_width ="120px" 
     /> 
    <EditText 
     android:id="@+id/pwd" 
     android:layout_width="50px" /> 
</TableRow> `