2010-12-23 11 views
0

Ich konfrontiert mit solchem ​​Problem, verschiedene Farbe des gleichen XML-Layout auf den gleichen Bildschirmgrößen, gibt es zwei Bilder, zuerst ist Eclipse ADT Layout malen, und zweitens ist Emulator Layout malen.android angezeigtes Layout mit cutted EditText

alt text alt text

Meine Fragen:

  1. Warum es so anders?

  2. Wie normale Textfelder erstellen, die sind nicht geschnitten (auf beiden Bildern)?

Layout 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> 

Antwort

1

ja, stand ich eine ähnliche Probleme vor, habe ich versucht, die Textview die Ausrichtung nach rechts zu setzen, so dass ich layout_gravity = "right" in der XML-Datei, und es zeigt genau, was ich im ADT-Layout wollte, aber beim Ausführen auf Android, der Text immer noch nach links ausgerichtet ...

Die Art, wie ich das Problem gelöst habe, ist diese Ansicht in eine RelativeLayout und dann Android: gravity = "center_vertical | right" im RelativeLayout-Tag.

Es ist schwer zu sagen, dass dies in Bezug auf Ihr Projekt funktioniert, aber vielleicht möchten Sie es versuchen.

BTW: Ich habe keine Ahnung, warum sie anders aussehen, aber ich glaube, die Ergebnisse auf Emu ist mehr real als die Layoutfarbe.

1

Ich habe Ihren XML-Code neu gescannt, es scheint, dass in der ADT-Layout-Farbansicht beide Textansichten nicht vollständig angezeigt werden. Wenn Sie den Emu ausführen und auf die erste Schaltfläche klicken, wird das System scheinbar aktiviert Ziehen Sie die Ansicht ein wenig nach unten, so dass die erste Ansicht vollständig angezeigt wird, wodurch die zweite Ansicht gewirkt wird.

0

Versuchen Sie dieses:

`

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