Android - 包含来自其他模块的布局

时间:2017-04-14 10:48:29

标签: android android-layout

我有一个名为 TestGUILib 的模块,我已经使用简单的FrameLayout指定了 testview.xml

<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="match_parent">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Testing View!" />

</FrameLayout>

我尝试在主应用 activity_main 中使用此布局。这是我的代码:

<?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="com.example.sam.testapp1.MainActivity">

    <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" />

    <include layout="@layout/testview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        />

</android.support.constraint.ConstraintLayout>

一切正常。它编译好,运行正常。但预览不起作用。它显示空白屏幕(即当我点击&#34;设计&#34;它变成空白时)有渲染错误:

  

在当前配置中找不到匹配值0x7F04002F(已解析名称:testview)的布局资源。

此外, testview 下有一行(即包括layout =&#34; @ layout / testview &#34;)。当我把鼠标翻过来时,它说

  

单词&#39; testview&#39;

中的错字      

Spellchecker检查有助于在代码,注释和文字中找到拼写错误和拼写错误,并一键修复它们。

有什么想法吗?感谢

2 个答案:

答案 0 :(得分:2)

转到“文件&gt;使缓存无效/重新启动...”,单击“无效并重新启动”。它应该工作。

答案 1 :(得分:0)

假设您有moduleOnemoduleTwo,如果您想在moduleOne中使用moduleTwo资源,请在moduleOne gradle中添加以下(示例)代码

    dependencies {
    compile project(':moduleTwo')
   }

这将包括moduleOne into moduleWwo ,以便使用其资源包括布局。