1. #1
    Membre habitué Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    août 2013
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : août 2013
    Messages : 308
    Points : 192
    Points
    192

    Par défaut Android Studio 3 Canary 8 : Missing constraints in constraintLayout

    Bonsoir
    Je suis un tuto sur android studio qui privilégie de travailler sur la version 3 canary.
    Mais le problème, c'est que dans Activity_Main.xml, quand je dépose un View (Button ou RadioButton par exemple) sur l'écran, il est invisible. Mais quand je fais Run, il est visible sur android Emulator.
    J'ai ce message d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Missing constraints in constraintLayout
    This view is not constrained, it only has designtime positions, so it will jump to (0,0) unless you add constraints  The layout editor allows you to place widgets anywhere on the canvas, and it records the current position with designtime attributes (such as layout_editor_absoluteX.) These attributes are not applied at runtime, so if you push your layout on a device, the widgets may appear in a different location than shown in the editor. To fix this, make sure a widget has both horizontal and vertical constraints by dragging from the edge connections.
    J'ai cherché et j'ai trouvé cette solution
    le problème c'est que je ne trouve pas "infer constraints" dans android-studio 3

    Nom : 20170726_225556.jpg
Affichages : 61
Taille : 60,0 Ko

    Merci
    J'apprends la programmation pour le plaisir

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    4 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 4 483
    Points : 11 503
    Points
    11 503

    Par défaut

    Bonjour,
    si tu débute travailler sur des versions canary (donc beta) d'android studio est une erreur. Tu vas probablement faire face à des problèmes qui n'existe pas sur les versions stables. La version 3 n'a d'intéret pour le moment que si tu veux développer en Kotlin et non en java.

    Pour ton problème, le message est clair , il faut que tu ajoutes des contraintes aux vues contenue dans ton constraintLayout.
    Donc :
    - clic droit sur ces vue (et pas le layout) et "infer constraint"
    - ou tu sélectionne une vue et tu ajoute des contrainte directement à la
    - ou encore dans la partie xml tu édites directement les contraintes en code.

    Ceci étant dit, si tu as cette erreur c'est que tu ne sais probablement pas ce que fait le constraintlayout et que tu devrait peut être utiliser un autre layout comme le Relativelayout par exemple.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    août 2013
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : août 2013
    Messages : 308
    Points : 192
    Points
    192

    Par défaut

    Citation Envoyé par grunk Voir le message
    Bonjour,
    La version 3 n'a d'intéret pour le moment que si tu veux développer en Kotlin et non en java.
    Effectivement je dois développer en Kotlin et le responsable de Tuto insiste sur la version 3 canary

    Citation Envoyé par grunk Voir le message
    - clic droit sur ces vue (et pas le layout) et "infer constraint"
    je n'ai toujours pas "infer constraint"

    Nom : photo1.jpg
Affichages : 52
Taille : 46,3 Ko

    merci
    J'apprends la programmation pour le plaisir

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    4 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 4 483
    Points : 11 503
    Points
    11 503

    Par défaut

    En haut à droite quand , tu sélectionne un élément dans un constraintlayout tu dois avoir des options spécifique :

    Nom : layout-editor-ratio-properties_2x.png
Affichages : 49
Taille : 25,4 Ko

    De même tu dois avoir des petites "poignée" sur chaque coté du widget qui te permettent de définir les contraintes.

    Voir la documentation dédiée au sujet pour tous les détails :

    https://developer.android.com/traini...out/index.html
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre habitué Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    août 2013
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : août 2013
    Messages : 308
    Points : 192
    Points
    192

    Par défaut

    Bonsoir

    Merci
    J'apprends la programmation pour le plaisir

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    4 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 4 483
    Points : 11 503
    Points
    11 503

    Par défaut

    Il semblerait que ce soit un bug avec android studio 3 (qui est une beta je le rappel).

    Une solution consisterait (conditonnel car j'ai pas testé) à te rendre dans ton build.gradle et de modifier les dépendences pour utiliser la beta1 pour toute tes dépendance:

    par exemple :
    com.android.support.constraint:constraint-layout:1.1.0-beta2
    devient
    com.android.support.constraint:constraint-layout:1.1.0-beta1

    A reproduire pour toutes les dépendances.
    Source : https://stackoverflow.com/questions/...-editor-broken

    L'autre solution consiste à ne pas utiliser le constraitlayout qui est certes pratique mais pas indispensable. Un relativelayout peut très bien convenir.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre habitué Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    août 2013
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : août 2013
    Messages : 308
    Points : 192
    Points
    192

    Par défaut

    Bonsoir
    Merci grunk pour ton aide qui m'a permis d'avancer à grand pas. J'ai changé, comme tu l'as suggéré, implementation 'com.android.support:appcompat-v7:26.0.0-beta2' en implementation 'com.android.support:appcompat-v7:26.0.0-beta1' , c'est la seule ligne que j'ai changée, et maintenant les View sont visibles sur l'écran et le carré bleu est maintenant visible dans l'angle supérieur droit.
    J'ai fait un petit code d'essai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    package com.example.jonass.domicile
     
    import android.support.v7.app.AppCompatActivity
    import android.os.Bundle
    import kotlinx.android.synthetic.main.activity_main.*
     
    class MainActivity : AppCompatActivity() {
     
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            monbutton.setOnClickListener({
                sontextView.text="J'aime developpez.net"
            })
        }
    }
    Quand je fais Run (virtual Device: Nexus 5 API 24 (android 7.0,API 24), j'ai droit au message suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Information:Gradle tasks [:app:assembleDebug]
    /home/jonass/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.0.0-beta2.aar/6d3bc2f1d905cc9e41681efddad90212/res/values/values.xml
    Error:(287, 5) invalid dimen
    Error:(288, 5) invalid dimen
    Error:(323, 5) invalid dimen
    Error:(324, 5) invalid dimen
    Error:(325, 5) invalid dimen
    Error:(326, 5) invalid dimen
    Error:(327, 5) invalid dimen
    Error:(328, 5) invalid dimen
    Error:(329, 5) invalid dimen
    Error:(330, 5) invalid dimen
    Error:(331, 5) invalid dimen
    Error:(352, 5) invalid dimen
    Error:/home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:395 invalid dimen
    Error:/home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:431 invalid dimen
    Error:/home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:433 invalid dimen
    Error:/home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:435 invalid dimen
    Error:/home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:437 invalid dimen
    Error:/home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:439 invalid dimen
    Error:java.lang.RuntimeException: com.android.builder.internal.aapt.AaptException: AAPT2 compile failed:
    Error:Execution failed for task ':app:mergeDebugResources'.
    > Error: java.lang.RuntimeException: com.android.builder.internal.aapt.AaptException: AAPT2 compile failed:
      aapt2 compile --legacy -o /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/res/merged/debug /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml
      Issues:
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:395 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:396 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:431 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:432 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:433 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:434 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:435 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:436 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:437 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:438 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:439 invalid dimen
       - ERROR: /home/jonass/AndroidStudioProjects/Domicile/app/build/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:460 invalid dimen
    Information:BUILD FAILED in 0s
    Information:20 errors
    Information:0 warnings
    Information:See complete output in console
    je n'ai rien compris. je n'avance plus dans le tuto
    Merci
    J'apprends la programmation pour le plaisir

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    4 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 4 483
    Points : 11 503
    Points
    11 503

    Par défaut

    c'est la seule ligne que j'ai changée
    Commence déjà par passer toutes les librairies dans la même version. Tout ce qui est en beta2 doit passer en beta1.

    Tu fais le choix de suivre un tuto en Kotlin parce que tu maitrise déjà android en Java ou parce que tu veux juste découvrir le développement android ? Si tu débutes c'est pas forcément la meilleure des idées que d'attaquer en Kotlin (support non finalisé , documentation moins abondante , etc ...)
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre habitué Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    août 2013
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : août 2013
    Messages : 308
    Points : 192
    Points
    192

    Par défaut

    Bonsoir
    Non je n'ai jamais fais d'android, je le découvre. Par contre j'ai fais du java (Procédural et POO).
    Si je ne trouve pas de solution à ce problème je me tournerai vers android avec java.
    Voilà mon build.gradl(projet)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    // Top-level build file where you can add configuration options common to all sub-projects/modules.
     
    buildscript {
        ext.kotlin_version = '1.1.3-2'
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.0.0-alpha8'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }
     
    allprojects {
        repositories {
            google()
            jcenter()
        }
    }
     
    task clean(type: Delete) {
        delete rootProject.buildDir
    }
    build.gradl(Module:app)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    apply plugin: 'com.android.application'
     
    apply plugin: 'kotlin-android'
     
    apply plugin: 'kotlin-android-extensions'
     
    android {
        compileSdkVersion 26
        buildToolsVersion "26.0.1"
        defaultConfig {
            applicationId "com.example.jonass.lundi"
            minSdkVersion 24
            targetSdkVersion 26
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }
     
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
        implementation 'com.android.support:appcompat-v7:26.0.0'
        implementation 'com.android.support.constraint:constraint-layout:1.0.2'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.0'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.0'
    }
    Merci
    J'apprends la programmation pour le plaisir

  10. #10
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Architecte Web / Android
    Inscrit en
    août 2003
    Messages
    4 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte Web / Android
    Secteur : Industrie

    Informations forums :
    Inscription : août 2003
    Messages : 4 483
    Points : 11 503
    Points
    11 503

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    implementation 'com.android.support:appcompat-v7:26.0.0'
    ne change rien ?
    A priori il ont changé des chose parce que jusqu'à maintenant une dépendance se déclare plutôt de cette façon :
    compile 'com.android.support:appcompat-v7:26.0.0-beta1'
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre habitué Avatar de stracoma
    Homme Profil pro
    Médecin
    Inscrit en
    août 2013
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Maroc

    Informations professionnelles :
    Activité : Médecin

    Informations forums :
    Inscription : août 2013
    Messages : 308
    Points : 192
    Points
    192

    Par défaut

    Bonsoir
    Non le changement ne donne rien
    J'apprends la programmation pour le plaisir

Discussions similaires

  1. Google sort un nouvel EDI pour Android : Android Studio
    Par Gordon Fowler dans le forum Android
    Réponses: 43
    Dernier message: 03/12/2013, 19h08
  2. Android Studio Git
    Par Twixou dans le forum Android
    Réponses: 1
    Dernier message: 31/05/2013, 08h38
  3. Impossible d'atteindre URI - Android Studio
    Par man_u dans le forum Android
    Réponses: 0
    Dernier message: 23/05/2013, 01h12
  4. Réponses: 11
    Dernier message: 03/01/2013, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo