【问题标题】:Why doesn't the layout design preview get displayed on my Android Studio?为什么我的 Android Studio 上不显示布局设计预览?
【发布时间】:2018-07-11 02:04:43
【问题描述】:

我不知道是我还是什么,但我无法在 Android Studio 的设计模式下放置简单的文本或按钮

如果有帮助,代码如下:

<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"
    style="@android:style/Widget.Button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="@style/TextAppearance.AppCompat.Button"
    android:visibility="visible"
    app:layout_constraintBottom_toTopOf="parent"
    app:layout_constraintEnd_toStartOf="parent"
    app:layout_constraintHorizontal_bias="0.45"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    tools:text="Test" />

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

【问题讨论】:

  • android studio 使用哪个版本
  • 在布局打开时按那个红色感叹号或按键盘上的 E 键。红色感叹号表示您的布局有错误。
  • 我的版本是Android Studio 3.1.3,错误是:Failed to load AppCompat ActionBar with unknown error。 // 无法实例化以下类: - android.support.v7.widget.ActionBarContainer (Open Class, Show Exception, Clear Cache) - android.support.v7.widget.ActionBarContextView (Open Class, Show Exception, Clear Cache ) - android.support.v7.app.WindowDecorActionBar(打开类,显示异常,清除缓存)
  • Theme in EditorApp Theme 更改为带有 .NoActionBar 的任何内容(例如 AppCompat.NoActionBar)。希望有帮助!

标签: android android-layout android-studio android-constraintlayout


【解决方案1】:

如果这是完整的布局,那么您在最底部缺少 ConstraintLayout 的结束标记:

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

【讨论】:

    【解决方案2】:

    试试这个

    <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"
        >
    
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="@style/TextAppearance.AppCompat.Button"
            app:layout_constraintHorizontal_bias="0.45"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            tools:text="Test"
            style="@android:style/Widget.Button"
            />
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/colorAccent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            />
    </android.support.constraint.ConstraintLayout>
    

    【讨论】:

      【解决方案3】:

      你搞砸了 Button 的约束:

      <Button
      android:id="@+id/button2"
      style="@android:style/Widget.Button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textAppearance="@style/TextAppearance.AppCompat.Button"
      android:visibility="visible"
      app:layout_constraintBottom_toTopOf="parent"
      app:layout_constraintEnd_toStartOf="parent"
      app:layout_constraintHorizontal_bias="0.45"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toTopOf="parent"
      tools:text="Test" />
      

      特别是:

      • app:layout_constraintBottom_toTopOf="parent"

      • app:layout_constraintEnd_toStartOf="parent"

      这使它不会显示在您的设计编辑器中。

      修改为:

      • app:layout_constraintBottom_toBottomOf="parent"

      • app:layout_constraintEnd_toEndOf="parent"

      【讨论】:

      • 修改后还是不行:/什么都没有显示
      【解决方案4】:

      @I_A_Mok 解决的问题

      “将编辑器中的主题从 App Theme 更改为任何带有 .NoActionBar 的内容(例如 AppCompat.NoActionBar)。”

      这是有效的!多谢! :D

      【讨论】:

      • 你如何在编辑器中改变它?你说的编辑是什么意思?此外,默认主题已经有 NoActionBar。示例:
      • 我的意思是(我现在没有软件)编辑器是可视选项卡,你有功能应用程序主题。
      猜你喜欢
      • 2018-11-20
      • 2016-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-22
      相关资源
      最近更新 更多