android - 在包中找不到属性 'barrierDirection' 的资源标识符 - ConstraintLayout Barrier

标签 android barrier android-constraintlayout

我正在尝试为 GitHub ( https://github.com/googlecodelabs/constraint-layout) 上托管的培训运行示例程序。

我更新了 build.gradle 以修复构建错误,但我无法编译和运行它。我得到了

No resource identifier found for attribute 'barrierDirection' in package 'com.google.googleio'

No resource identifier found for attribute 'constraint_referenced_ids' in package 'com.google.googleio'

我正在使用 Android Studio 2.3.3。

build.gradle(模块:应用程序)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.google.googleio"
        minSdkVersion 22
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
}

activity_main_done.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:id="@+id/activity_main_done"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_editor_absoluteX="0dp"
    app:layout_editor_absoluteY="80dp"
    tools:layout_editor_absoluteX="0dp"
    tools:layout_editor_absoluteY="80dp">

    <ImageView
        android:src="@drawable/singapore"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_editor_absoluteX="0dp"
        app:layout_editor_absoluteY="0dp"
        android:id="@+id/header"
        android:scaleType="centerCrop"
        android:contentDescription="@string/placeholder"
        app:layout_constraintLeft_creator="1"
        app:layout_constraintTop_creator="1"
        app:layout_constraintRight_creator="1"
        app:layout_constraintBottom_creator="1"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp"
        app:layout_constraintLeft_toLeftOf="@+id/activity_main_done"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintTop_toTopOf="@+id/activity_main_done"
        tools:layout_constraintTop_creator="1"
        app:layout_constraintRight_toRightOf="@+id/activity_main_done"
        tools:layout_constraintRight_creator="1"
        app:layout_constraintBottom_toBottomOf="@+id/favorite"
        android:layout_marginBottom="16dp"
        tools:layout_constraintBottom_creator="1"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintVertical_bias="0.0" />

    <ImageView
        android:src="@drawable/ic_star"
        android:layout_width="36dp"
        android:layout_height="36dp"
        app:layout_editor_absoluteX="359dp"
        app:layout_editor_absoluteY="104dp"
        android:id="@+id/favorite"
        android:background="@drawable/info_background"
        android:padding="5dp"
        android:contentDescription="@string/placeholder"
        app:layout_constraintTop_creator="1"
        app:layout_constraintRight_creator="1"
        app:layout_constraintBottom_creator="0"
        tools:layout_editor_absoluteX="359dp"
        tools:layout_editor_absoluteY="104dp"
        app:layout_constraintTop_toTopOf="@+id/activity_main_done"
        tools:layout_constraintTop_creator="0"
        app:layout_constraintRight_toRightOf="@+id/activity_main_done"
        android:layout_marginEnd="16dp"
        tools:layout_constraintRight_creator="0"
        app:layout_constraintBottom_toBottomOf="@+id/activity_main_done"
        android:layout_marginBottom="16dp"
        tools:layout_constraintBottom_creator="0"
        app:layout_constraintVertical_bias="0.19" />

    <TextView
        android:text="@string/singapore"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_editor_absoluteX="16dp"
        app:layout_editor_absoluteY="140dp"
        android:id="@+id/title"
        android:textSize="24sp"
        app:layout_constraintLeft_creator="1"
        app:layout_constraintTop_creator="0"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="140dp"
        app:layout_constraintLeft_toLeftOf="@+id/activity_main_done"
        android:layout_marginStart="16dp"
        tools:layout_constraintLeft_creator="0"
        app:layout_constraintTop_toBottomOf="@+id/header"
        android:layout_marginTop="16dp"
        tools:layout_constraintTop_creator="0" />

    <EditText
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:text="@string/camera_value"
        android:ems="10"
        app:layout_editor_absoluteX="73dp"
        app:layout_editor_absoluteY="176dp"
        android:id="@+id/cameraType"
        app:layout_constraintLeft_creator="1"
        app:layout_constraintTop_creator="1"
        app:layout_constraintRight_creator="1"
        app:layout_constraintLeft_toLeftOf="@+id/settings"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintTop_toBottomOf="@+id/title"
        android:layout_marginTop="8dp"
        tools:layout_constraintTop_creator="0"
        app:layout_constraintRight_toRightOf="@+id/settings"
        tools:layout_constraintRight_creator="1"
        app:layout_constraintStart_toEndOf="@+id/labelBarrier"
        android:layout_marginStart="8dp" />

    <TextView
        android:text="@string/camera"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_editor_absoluteX="16dp"
        app:layout_editor_absoluteY="189dp"
        android:id="@+id/cameraLabel"
        android:labelFor="@+id/cameraType"
        app:layout_constraintLeft_creator="1"
        app:layout_constraintBaseline_creator="1"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="189dp"
        app:layout_constraintLeft_toLeftOf="@+id/activity_main_done"
        android:layout_marginStart="16dp"
        tools:layout_constraintLeft_creator="0"
        app:layout_constraintBaseline_toBaselineOf="@+id/cameraType"
        tools:layout_constraintBaseline_creator="0" />

    <TextView
        android:text="@string/settings"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_editor_absoluteX="16dp"
        app:layout_editor_absoluteY="238dp"
        android:id="@+id/settingsLabel"
        android:labelFor="@+id/settings"
        app:layout_constraintLeft_creator="1"
        app:layout_constraintBaseline_creator="1"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="238dp"
        app:layout_constraintLeft_toLeftOf="@+id/activity_main_done"
        android:layout_marginStart="16dp"
        tools:layout_constraintLeft_creator="0"
        app:layout_constraintBaseline_toBaselineOf="@+id/settings"
        tools:layout_constraintBaseline_creator="0" />

    <android.support.constraint.Barrier
        android:id="@+id/labelBarrier"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:barrierDirection="end"
        app:constraint_referenced_ids="cameraLabel,settingsLabel" />

    <EditText
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:text="@string/camera_settings"
        android:ems="10"
        app:layout_editor_absoluteX="73dp"
        app:layout_editor_absoluteY="225dp"
        android:id="@+id/settings"
        app:layout_constraintLeft_creator="1"
        app:layout_constraintTop_creator="1"
        app:layout_constraintRight_creator="1"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintTop_toBottomOf="@+id/cameraType"
        android:layout_marginTop="8dp"
        tools:layout_constraintTop_creator="0"
        app:layout_constraintRight_toRightOf="@+id/description"
        tools:layout_constraintRight_creator="1"
        app:layout_constraintStart_toEndOf="@+id/labelBarrier"
        android:layout_marginStart="8dp" />

    <Button
        android:text="@string/upload"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_editor_absoluteX="307dp"
        app:layout_editor_absoluteY="538dp"
        android:id="@+id/upload"
        app:layout_constraintRight_creator="1"
        app:layout_constraintBottom_creator="1"
        tools:layout_editor_absoluteX="307dp"
        tools:layout_editor_absoluteY="538dp"
        app:layout_constraintRight_toRightOf="@+id/activity_main_done"
        android:layout_marginEnd="16dp"
        tools:layout_constraintRight_creator="0"
        app:layout_constraintBottom_toBottomOf="@+id/activity_main_done"
        android:layout_marginBottom="16dp"
        tools:layout_constraintBottom_creator="0" />

    <Button
        android:text="@string/discard"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_editor_absoluteX="211dp"
        app:layout_editor_absoluteY="538dp"
        android:id="@+id/discard"
        android:elevation="0dp"
        app:layout_constraintRight_creator="0"
        app:layout_constraintBaseline_creator="1"
        tools:layout_editor_absoluteX="211dp"
        tools:layout_editor_absoluteY="538dp"
        app:layout_constraintRight_toLeftOf="@+id/upload"
        android:layout_marginEnd="8dp"
        tools:layout_constraintRight_creator="0"
        app:layout_constraintBaseline_toBaselineOf="@+id/upload"
        tools:layout_constraintBaseline_creator="0" />

    <TextView
        android:text="@string/singapore_description"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_editor_absoluteX="16dp"
        app:layout_editor_absoluteY="274dp"
        android:id="@+id/description"
        android:fadingEdge="vertical"
        android:ellipsize="end"
        android:textSize="15sp"
        app:layout_constraintLeft_creator="1"
        app:layout_constraintTop_creator="0"
        app:layout_constraintRight_creator="1"
        app:layout_constraintBottom_creator="0"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="274dp"
        app:layout_constraintLeft_toLeftOf="@+id/activity_main_done"
        android:layout_marginStart="16dp"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintTop_toBottomOf="@+id/settings"
        android:layout_marginTop="8dp"
        tools:layout_constraintTop_creator="1"
        app:layout_constraintRight_toRightOf="@+id/activity_main_done"
        android:layout_marginEnd="16dp"
        tools:layout_constraintRight_creator="1"
        app:layout_constraintBottom_toTopOf="@+id/discard"
        android:layout_marginBottom="8dp"
        tools:layout_constraintBottom_creator="1" />

</android.support.constraint.ConstraintLayout>

仅供引用 - 当我注释掉 android.support.constraint.Barrier 标签时,代码编译并运行。

最佳答案

Barrierconstraint-layout 库的 1.0.2 中不存在。它是 1.1.0 的一部分,目前处于测试阶段。您需要将依赖项切换回:

compile 'com.android.support.constraint:constraint-layout:1.1.0-beta1'

如果 Android Studio 提示找不到这个库,请确保您的项目级 build.gradle 文件看起来像the one from the project ,特别是在 allprojects 中配置了 Google 存储库:

allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com'
        }
    }
}

关于android - 在包中找不到属性 'barrierDirection' 的资源标识符 - ConstraintLayout Barrier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46017958/

相关文章:

android - 在 Android 上使用 OpenGL ES 2.0 的 Sprite 不透明度

Java ftpclient 应用程序不连接

c - MPI Isend 和 Ireceive 不起作用

android - 约束布局指南

java - 更改布局不透明度(进度条除外)

android - ConstraintLayout 隐藏最后一行 TextView 与 app :layout_constrainedHeight ="true"

android - "your device isn' t 兼容此版本”

android - 单个 ScrollView 中多个图像的滞后

multithreading - 这个 OpenMP 屏障有什么解决方法吗?

c++ - 我是否需要内存屏障来访问由完成的线程修改的内存?