Je suis nouveau dans le développement Android et j'ai ce problème avec mon projet de démonstration Android Studio 3.1.3 ou tout projet que je crée.
Même si je peux glisser et déposer différents contrôles sur ma vue Conception (ConstraintLayout), mais rien ne s'affiche dans la vue Conception, il s'affiche pendant une fraction de seconde, puis il disparaît.
Je peux voir tous les éléments que je glisse et laisse tomber dans activity_main.xml Onglet Texte, Arborescence des composants et même en mode Exécution, mais pas dans l'onglet Conception, rien ne s'affiche en mode Création et il est toujours vide.
J'ai essayé Invalidate Cache Restart, Redémarrer mon PC, changer les zooms avant et arrière, Déduire les contraintes, mais sans succès. Les contrôles
Je ne peux pas faire grand chose à moins de voir les choses en mode conception.
Vue de conception vide:
Vue du mode Exécution
activity_main.xml
<?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=".MainActivity">
<Button
Android:id="@+id/button2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Button" />
<Button
Android:id="@+id/button4"
Android:layout_width="wrap_content"
Android:layout_height="0dp"
Android:text="Button" />
<Android.support.constraint.Guideline
Android:id="@+id/guideline"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:orientation="vertical"
app:layout_constraintGuide_begin="20dp" />
<CheckBox
Android:id="@+id/checkBox"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="CheckBox"
tools:layout_editor_absoluteX="154dp"
tools:layout_editor_absoluteY="181dp" />
</Android.support.constraint.ConstraintLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.libra.myapplication">
<application
Android:allowBackup="true"
Android:icon="@mipmap/ic_launcher"
Android:label="@string/app_name"
Android:roundIcon="@mipmap/ic_launcher_round"
Android:supportsRtl="true"
Android:theme="@style/AppTheme">
<activity Android:name=".MainActivity">
<intent-filter>
<action Android:name="Android.intent.action.MAIN" />
<category Android:name="Android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
build.gradle
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.libra.myapplication"
minSdkVersion 15
targetSdkVersion 28
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 'com.Android.support:appcompat-v7:28.0.0-alpha3'
implementation 'com.Android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
}
Ok mon problème est résolu!
Les classes suivantes n'ont pas pu être instanciées: - Android.support.v7.widget.Toolbar
J'ai changé le fichier res/values / styles.xml à partir de ceci:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
pour ça:
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
et qui a résolu le problème
Une autre solution consiste à modifier GradleScripts/build.gradel (application Module).
-> implementation 'com.Android.support:appcompat-v7:28.0.0-alpha3'into implémentation' com.Android.support:appcompat-v7:28.0.0-alpha1 '
et, le cas échéant,
-> implementation 'com.Android.support:design:28.0.0-alpha3'into implémentation' com.Android.support:design:28.0.0-alpha1 '
J'ai eu le même problème et a constaté que ce hack a fonctionné pour moi. J'ai changé les versions du fichier d'application situé dans Gradle Scripts/build.gradle (Module: app) en versions 27. CompileSdkVersion
, minSdkVersion
, targetSdkVersion
et implementation 'com.Android.support:appcompat-v7:27.0.0'
. Celles-ci sont énumérées aux lignes 4, 7, 8 et 23 .. (cela pourrait être différent pour vous).
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 27
defaultConfig {
applicationId "com.fiv4.masterapp"
minSdkVersion 27
targetSdkVersion 27
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 'com.Android.support:appcompat-v7:27.0.0'
implementation 'com.Android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
}
Utilise une version stable des bibliothèques de support.
Le problème est lorsque vous utilisez des bibliothèques de support alpha instables. Voir les versions des bibliothèques stables sur google maven repo .
Au moment de la réponse, la version la plus stable de support:appcomact-v7
est 28.0.0-rc02
Remplacer
implementation 'com.Android.support:appcompat-v7:28.0.0-alpha3' // less stable alpha
Avec
implementation 'com.Android.support:appcompat-v7:28.0.0-rc02' // more stable
Sync, redémarrez simplement AS. Problème résolu !
Pour ceux que rien ne fonctionne dans cette page ou dans tout Internet (comme moi), essayez de désinstaller votre studio Android, puis réinstallez-le. (Vous n'avez pas besoin de désinstaller sdks, avd. Les paramètres peuvent également rester identiques. Seul le programme principal doit être désinstallé.) Lorsque vous réinstallez Android Studio, changez la version à 27 comme dans l'image. Ça y est, espérons que cela fonctionne pour vous aussi
Votre mise en page a un problème avec le widget CheckBox
. Il n'y a pas de contrainte. tools:layout_editor_absoluteX
et tools:layout_editor_absoluteY
n'affectent que le mode de conception, mais pas dans l'application en cours d'exécution.
Remarque: Ne faites pas glisser le widget en mode création, il générera de nombreuses propriétés étranges qui ne fonctionneront pas dans tous les cas, comme les deux propriétés que vous avez. Faites-le dans le code à la place. Si vous voulez que la CheckBox
soit au centre, procédez comme suit:
<CheckBox
Android:id="@+id/checkBox"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="CheckBox"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" />
Cela supprimera l'icône d'erreur à la CheckBox
, puis une actualisation peut aider.