私はAndroid開発の初心者であり、Android Studio 3.1.3デモプロジェクトまたは作成したプロジェクトにこの問題があります。
デザインビュー(ConstraintLayout)にさまざまなコントロールをドラッグアンドドロップできますが、デザインビューには何も表示されませんが、一瞬表示されてから消えます。
Activity_main.xmlの[テキスト]タブ、コンポーネントツリー、さらには実行モードでも、ドラッグアンドドロップするすべての要素を見ることができますが、デザインタブには表示されません。デザインビューには何も表示されません。
キャッシュの再起動の無効化、PCの再起動、ズームの変更-インとアウト、制約の推測を試みましたが、うまくいきませんでした。コントロール
デザインビューで物事を見ない限り、私は多くのことをすることができません。
空のデザインビュー:
実行モードビュー
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'
}
問題は解決しました!
次のクラスはインスタンス化できませんでした:-Android.support.v7.widget.Toolbar
Res/values/styles.xmlファイルをこれから変更しました:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
これに:
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
そしてそれは問題を解決しました
別の回避策は、GradleScripts/build.gradel(Module app)を編集することです
->実装 'com.Android.support:appcompat-v7:28.0.0-alpha3'から実装 'com.Android.support:appcompat-v7:28.0.0-alpha1'
そして、もしあれば、
->実装 'com.Android.support:design:28.0.0-alpha3'から実装 'com.Android.support:design:28.0.0-alpha1'へ
私は同じ問題を抱えていましたが、このハックが私にとってうまくいったことを発見しました。 Gradle Scripts/build.gradle(Module:app)にあるアプリファイルのバージョンをバージョン27に変更しました。CompileSdkVersion
、minSdkVersion
、targetSdkVersion
およびimplementation 'com.Android.support:appcompat-v7:27.0.0'
。これらは、4、7、8、および23行目にリストされています(異なる場合があります)。
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'
}
サポートライブラリの安定バージョンを使用します。
問題は、不安定なアルファサポートライブラリを使用している場合です。 google maven repo の安定したライブラリバージョンを参照してください。
答えの時点で、support:appcomact-v7
の最も安定したバージョンは28.0.0-rc02
です
Replace
implementation 'com.Android.support:appcompat-v7:28.0.0-alpha3' // less stable alpha
With
implementation 'com.Android.support:appcompat-v7:28.0.0-rc02' // more stable
同期、ASの再起動のみ。問題は解決されました!
レイアウトにCheckBox
ウィジェットに問題があります。制約はありません。 tools:layout_editor_absoluteX
とtools:layout_editor_absoluteY
はデザインモードにのみ影響しますが、実際に実行中のアプリには影響しません。
注:ウィジェットをデザインビューにドラッグ/ドロップしないでください。生成された2つのプロパティのように、すべてのケースで機能しない多くの奇妙なプロパティが生成されます。代わりにコードで実行してください。 CheckBox
を中央に配置するには、次のようにします。
<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" />
これにより、CheckBox
のエラーアイコンが削除され、更新が役立つ場合があります。