FloatingActionButton不会显示在应用上

时间:2018-04-04 19:45:57

标签: android android-layout android-recyclerview floating-action-button

我想在Android中创建一个简单的布局,就像Gmail收件箱一样。项目列表和用于添加新项目的FloatingActionButton。在Android Studio的设计选项卡中,按钮显示。但是,当我在模拟器中启动应用程序时,按钮不会显示。我正在使用recyclerview来显示项目。这些项目会正确显示。

片段代码

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

    <android.support.v7.widget.RecyclerView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/question_recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </android.support.v7.widget.RecyclerView>

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/floatingActionButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/icon_add"
        android:layout_gravity="end|bottom"
        android:layout_margin="16dp"/>

</FrameLayout>

活动布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    xmlns:tools="http://schemas.android.com/tools">


    <android.support.design.widget.AppBarLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.TabLayout
            android:id="@+id/dashboard_tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:tabMode="fixed"
            app:tabGravity="fill">
        </android.support.design.widget.TabLayout>

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

依赖

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
    applicationId "com.tl.dialog"
    minSdkVersion 19
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}



 dependencies {
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation 'com.android.support.constraint:constraint-layout:1.0.2'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.1'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
        implementation 'com.android.support:recyclerview-v7:26.1.0'
        implementation 'com.android.support:cardview-v7:26.1.0'
        implementation 'com.android.support:appcompat-v7:26.1.0'
        implementation 'com.android.support:support-v4:26.1.0'
        implementation 'com.android.support:design:26.1.0'

        compileOnly 'org.projectlombok:lombok:1.16.20'
        annotationProcessor 'org.projectlombok:lombok:1.16.20'
    }

1 个答案:

答案 0 :(得分:1)

您从RecyclerView而不是根onCreateView()返回View。 (我想这是因为在某些早期版本中,RecyclerView内只有Fragment

所以你需要改变的是onCreateView()的最后一行,而不是return recycler;它应该是

return mView;