如何在android studio中看到xml DrawerLayout文件

时间:2015-05-09 22:22:08

标签: android xml android-studio drawerlayout

我正在android studio上创建XML抽屉布局文件,但无法预览android studio我遇到此错误我该如何解决问题

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">


<LinearLayout
    android:fitsSystemWindows="true"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#ff6600"
    android:paddingRight="@dimen/activity_horizontal_margin"

    tools:context="br.com.appingles.Tela2" >

    <include android:id="@+id/app_bar" layout="@layout/app_bar"/>

    <TextView
        android:id="@+id/assertosTela2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="30dp"
        android:layout_marginTop="20dp"
        android:text="TextView" />

    <TextView
        android:id="@+id/perguntaTela2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="28dp"
        android:text="TextView" />

    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="35dp"
        android:onClick="button2"
        android:text="Button2" />

    <Button
        android:id="@+id/button3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="27dp"
        android:onClick="button3"
        android:text="Button3" />

    <Button
        android:id="@+id/button4"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="25dp"
        android:onClick="button4"
        android:text="Button4" />

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="58dp"
        android:onClick="button1"
        android:text="Button1" />

</LinearLayout>

<fragment
    android:id="@+id/fragment_navigation_drawer"
    android:layout_width="@dimen/nav_dr"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:layout="@layout/fragment_navigation_drawer"
    android:name="br.com.appingles.NavigationDrawerFragment"
    tools:layout="@layout/fragment_navigation_drawer"
    />

android {
compileSdkVersion 22
buildToolsVersion '19.1.0'

defaultConfig {
    applicationId "br.com.appingles"
    minSdkVersion 17
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:22.1.1'
compile 'com.android.support:appcompat-v7:22.1.1'
compile 'com.android.support:recyclerview-v7:22.1.1'

}

我收到此错误:

渲染问题找不到以下类:android.support.v4.widget.Drawer布局(修复构建路径,创建类)提示:尝试构建项目。

1 个答案:

答案 0 :(得分:0)

layout.xml的父级(最顶层元素)必须是android.support.v4.widget.DrawerLayout,如下所示:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000"
    tools:context="mainMenu.MainExpandActivity">

如果一切正常并且仍然​​没有显示预览,那么编译并构建项目,然后尝试。

根据Android developer's page

主要内容视图(上面的FrameLayout)必须是DrawerLayout中的第一个子节点,因为XML顺序意味着z排序,抽屉必须位于内容之上。

修改

首先,您需要添加External Jar

在android studio中转到File-&gt;项目结构 - &gt;模块 - &gt;依赖关系 - &gt; +符号 - &gt;图书馆依赖。

现在搜索支持库。你会发现像这样的东西com.android.support:support-v13

现在,选择名为support-v13的Jar文件(无论版本是什么),然后单击OK。

编辑#2

调色板未立即显示您的DrawerLayout。实际上,这是一种正常的行为。毕竟,Palette只显示静态单层视图,而DrawerLayout是一个复杂的ViewGroup,它有多层:抽屉和内容。同时,DrawerLayout是一个动态视图,其效果只能在设备或模拟器上看到。因此,您可以随意运行加载此布局的Activity,然后您会看到包含DrawerLayout

的布局效果