web-dev-qa-db-ja.com

Android St​​udio 3.1.3、デザインビューは常に空です

私はAndroid開発の初心者であり、Android St​​udio 3.1.3デモプロジェクトまたは作成したプロジェクトにこの問題があります。

デザインビュー(ConstraintLayout)にさまざまなコントロールをドラッグアンドドロップできますが、デザインビューには何も表示されませんが、一瞬表示されてから消えます。

Activity_main.xmlの[テキスト]タブ、コンポーネントツリー、さらには実行モードでも、ドラッグアンドドロップするすべての要素を見ることができますが、デザインタブには表示されません。デザインビューには何も表示されません。

キャッシュの再起動の無効化、PCの再起動、ズームの変更-インとアウト、制約の推測を試みましたが、うまくいきませんでした。コントロール

デザインビューで物事を見ない限り、私は多くのことをすることができません。

空のデザインビュー:

Empty Design View

実行モードビュー

Run mode view

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'
}
21
Adnan ILYAS

問題は解決しました!

次のクラスはインスタンス化できませんでした:-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">

そしてそれは問題を解決しました

35
Adnan ILYAS

このページまたはインターネット全体(私のように)で機能しないものについては、Androidスタジオをアンインストールしてから再インストールしてください。 (sdk、avdをアンインストールする必要はありません。設定も同じままにすることができます。メインプログラムのみをアンインストールする必要があります)Android St​​udioを再インストールする場合、画像のようにバージョンを27に変更します。それはあなたのために働くことを願っています enter image description here

2
mears

別の回避策は、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'へ

  • SAVEおよび+ SyncNow
2
Oliwan

私は同じ問題を抱えていましたが、このハックが私にとってうまくいったことを発見しました。 Gradle Scripts/build.gradle(Module:app)にあるアプリファイルのバージョンをバージョン27に変更しました。CompileSdkVersionminSdkVersiontargetSdkVersionおよび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'
}

enter image description here

enter image description here

1
Sean

サポートライブラリの安定バージョンを使用します。

問題は、不安定なアルファサポートライブラリを使用している場合です。 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の再起動のみ。問題は解決されました!

1
Khemraj

レイアウトにCheckBoxウィジェットに問題があります。制約はありません。 tools:layout_editor_absoluteXtools: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のエラーアイコンが削除され、更新が役立つ場合があります。

0
Tam Huynh