2017-03-24 2 views
0

Ainsi, Android Studio est doté de la fonction Glisser/Déposer dans l'onglet Conception. Je suis capable de placer les éléments là où je les veux, et la mise en page est superbe à l'écran. Cependant, lorsque je lance l'émulateur d'application, il semble complètement différent. Tout est poussé dans le coin supérieur gauche de l'écran, loin de l'endroit où je l'ai placé en mode design.Les éléments ne restent pas à l'emplacement de la fonction Glisser-déposer dans Android Studio

Existe-t-il un moyen pour que vos éléments s'affichent de la même manière dans l'émulateur, de la même façon que vous les placez en mode Création? En ce moment je dois revenir en arrière et éditer tout le code à chaque fois.

J'ai mon code ci-dessous, ainsi qu'un lien image ci-dessous pour clarifier davantage mon point. Comparison of Design mode vs App Emulator

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.luke.currencyconverter.MainActivity"> 

    <TextView 
     android:id="@+id/textView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Enter The Amount in Dollars" 
     tools:layout_editor_absoluteX="-159dp" 
     tools:layout_editor_absoluteY="126dp" /> 

    <TextView 
     android:id="@+id/textView2" 
     android:layout_width="403dp" 
     android:layout_height="0dp" 
     android:text="Enter The Amount in Dollars:" 
     android:textColor="@android:color/black" 
     android:textSize="22sp" 
     tools:layout_editor_absoluteX="33dp" 
     tools:layout_editor_absoluteY="365dp" /> 

    <ImageView 
     android:id="@+id/currency" 
     android:layout_width="361dp" 
     android:layout_height="450dp" 
     app:srcCompat="@drawable/currency" 
     tools:layout_editor_absoluteX="12dp" 
     tools:layout_editor_absoluteY="-117dp" /> 

    <Button 
     android:id="@+id/convert" 
     android:layout_width="361dp" 
     android:layout_height="wrap_content" 
     android:onClick="convert" 
     android:text="Convert" 
     tools:layout_editor_absoluteX="12dp" 
     tools:layout_editor_absoluteY="462dp" /> 

    <EditText 
     android:id="@+id/dollarField" 
     android:layout_width="368dp" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:inputType="numberDecimal" 
     tools:layout_editor_absoluteX="8dp" 
     tools:layout_editor_absoluteY="408dp" /> 

</android.support.constraint.ConstraintLayout> 
+0

Glisser et déposer n'est pas recommandé. –

+0

Vous devriez publier votre code. – BlackHatSamurai

+0

utiliser un glisser-déposer linearlayout ne fonctionne que par des contraintes de paramètres ou des périphériques différents ont une taille d'écran différente et peuvent ne pas fonctionner comme prévu. – g7pro

Répondre

0

glisser-déposer pour Android ne fera que placer l'objet dans l'écran. Pour le conserver, vous devez modifier le fichier XML afin que les objets soient contraints les uns aux autres.

Vous pouvez utiliser la disposition relative ou la disposition des contraintes pour faciliter la conception de votre mise en page.

0

Je l'ai compris. J'utilisais la "disposition des contraintes" et je devais utiliser "disposition relative".