Android Studio在布局预览中显示错误的布局(ActionBarOverlayLayout?!)

时间:2017-12-07 09:47:02

标签: android android-layout android-studio

我有一个很好的 FrameLayout 作为主要容器,而其他一些观点在它的层次结构中。

预览会显示一个简单的ActionBarOverlayLayout。

那是什么?为什么会在这里?

我有Android Studio 3.0.0

我试过了: 重启Android Studio。通过调整大小来刷新预览。更改了预览设备,更改了预览的SDK,更改了蓝图\设计选项,按下了#34;强制刷新布局" Button

XML:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"

android:layout_height="wrap_content"
android:orientation="vertical"

android:paddingLeft="8dp"
android:paddingRight="8dp"
android:paddingTop="8dp">


<com.makeramen.roundedimageview.RoundedImageView
    android:layout_width="match_parent"
    android:layout_height="@dimen/walk_list_item_height"
    android:adjustViewBounds="false"
    android:cropToPadding="false"
    android:scaleType="centerCrop"
    app:layout_heightPercent="25%"
    app:layout_marginLeftPercent="0%"
    app:layout_marginTopPercent="0%"
    app:layout_widthPercent="100%"
    app:riv_corner_radius="@dimen/corner_radius"
    android:id="@+id/walk_iv" />


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:background="@drawable/gradient"
    android:orientation="vertical"
    android:paddingBottom="16dp"
    android:paddingTop="16dp">

    <TextView
        android:id="@+id/walk_name_tv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center_vertical"
        android:padding="16dp"
        android:text="New Text"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#fff" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingLeft="16dp"
        android:paddingRight="16dp">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/ic_duration_icon" />

        <TextView
            android:id="@+id/duration_tv"
            android:layout_gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="8dp"
            android:gravity="center|left"
            android:text="TextView"
            android:textColor="#fff" />


        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/ic_marker"
            android:layout_marginLeft="16dp" />


        <TextView
            android:id="@+id/stops_tv"
            android:layout_gravity="center"

            android:layout_marginLeft="8dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="TextView"
            android:textColor="#fff" />

    </LinearLayout>
</LinearLayout>

</FrameLayout>

enter image description here

3 个答案:

答案 0 :(得分:1)

这是因为您之前的版本中存在损坏的版本。它来自中间文件,因为文件在xml文件中不正确。可以在drawables名称中链接断开或-

在解决此问题之前,您无法继续在布局编辑器中查看应用程序的布局。

此外,Android Studio不会在错误日志或任何其他终端中显示任何错误。

从应用的样式/主题开始,它可能包含项目的gradle或资源中缺少的内容。由于支持库仍在项目中,它部分地将其显示为缺少对XML文件的控制,但它不允许您以可视方式为项目加载xml编辑器。

你已经看到了这一点,首先从drawables开始,然后移动到values文件夹,如果没有检查你的gradle,然后返回Java文件以查找错误。

答案 1 :(得分:0)

不得不提高

  

buildToolsVersion to 26.0.0

之前被窃听过(25.0.2)

答案 2 :(得分:-1)

我遇到了同样的问题,在我的情况下,它比那更简单。我刚刚收到一条警告消息,建议从build.gradle文件中删除对BuildToolsVerison的explict引用,所以我就这样做了,然后保存了所有文件,菜单&gt;&gt;运行&gt;&gt;做一个项目,它运作良好。

Warning message

The solution