使用DrawerLayout时,活动将显示带有“ android ... DrawerLayout”且没有内容的绿屏

时间:2018-09-23 13:46:58

标签: android xml android-studio

我一直在寻找是否还有其他人遇到这个问题,而我却没有运气。我以为这是依赖关系的问题,但我不太确定。

<?xml version="1.0" encoding="utf-8"?>
    <android.support.v4.widget.DrawerLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_height="match_parent"
         android:layout_width="match_parent">


<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:textColor="@color/white"/>


</FrameLayout>

</android.support.v4.widget.DrawerLayout>

这将显示:What the design page and text page shows

这是我的build.gradle文件(模块:app):

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:drawerlayout:28.0.0-alpha1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso- 
core:3.0.2'
}

我在做什么错?谢谢,我希望我不要错过任何真正明显的事情。 罗布

2 个答案:

答案 0 :(得分:0)

“抽屉式布局”具有2个子项,一个“容器布局”和一个“列表”视图,您可以通过以下链接获取进一步的帮助。

http://windrealm.org/tutorials/android/drawerlayout-example.php

答案 1 :(得分:0)

您正在使用appcompatdrawerlayout的不同版本:rc02-alpha1

这两个:

implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation 'com.android.support:drawerlayout:28.0.0-alpha1'

应该是相同的版本。但是,v28遇到了Android Studio预览问题,您可以将其更改为使用稳定的版本,例如27.1.1

此外,您也可以尝试使用27.1.1来解决问题,而无需更改任何内容,只需将其添加到Build.gradle内即可:

configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->
            def requested = details.requested
            if (requested.group == "com.android.support") {
                if (!requested.name.startsWith("multidex")) {
                    details.useVersion "27.1.1"
                }
            }
        }
    }

无论如何,我不确定您为什么使用com.android.support:drawerlayout,但我建议您改用它:

implementation 'com.android.support:design:28.0.0-rc02' // or 27.1.1

正如the documentation所建议的那样。