FloatingActionButton不会在KitKat上显示

时间:2016-10-11 22:03:18

标签: java android android-studio

我2个月前开始使用Android Studio上学,我在使用FloatinActionButton时遇到了一些麻烦。即使我正在使用支持库,它也不会显示在KitKat中。

这就是我的Activity的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"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context="com.example.leonardoguerrag.budget.MainActivity"
 android:clipToPadding="true"
 android:paddingBottom="0dp"
 android:background="@android:color/holo_orange_light">

<android.support.design.widget.FloatingActionButton
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:clickable="true"
 app:fabSize="mini"
 app:srcCompat="@android:drawable/ic_menu_compass"
 android:id="@+id/btnAgregarGasto"
 app:layout_constraintBottom_toTopOf="@+id/btnAgregar"
 android:layout_marginBottom="16dp"
 app:layout_constraintLeft_toLeftOf="@+id/btnAgregar"
 app:layout_constraintRight_toRightOf="@+id/btnAgregar" />

<android.support.design.widget.FloatingActionButton
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:clickable="true"
 app:fabSize="mini"
 app:srcCompat="@android:drawable/ic_input_get"
 android:id="@+id/btnAgregarBudget"
 app:backgroundTint="?attr/colorPrimary"
 app:layout_constraintBottom_toTopOf="@+id/btnAgregarGasto"
 android:layout_marginBottom="16dp"
 app:layout_constraintLeft_toLeftOf="@+id/btnAgregarGasto"
 app:layout_constraintRight_toRightOf="@+id/btnAgregarGasto" />

<android.support.design.widget.FloatingActionButton
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:clickable="true"
 app:fabSize="normal"
 app:srcCompat="@android:drawable/ic_input_add"
 android:id="@+id/btnAgregar"
 app:backgroundTint="@android:color/holo_blue_dark"
 app:layout_constraintBottom_toBottomOf="@+id/viewPager"
 android:layout_marginBottom="16dp"
 app:layout_constraintRight_toRightOf="@+id/viewPager"
 android:layout_marginEnd="16dp"
 android:layout_marginRight="16dp" /> 

<android.support.design.widget.TabLayout
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 app:tabMode="fixed"
 android:id="@+id/tabLayout"
 app:layout_constraintTop_toTopOf="parent"
 app:layout_constraintLeft_toLeftOf="parent"
 app:layout_constraintRight_toRightOf="parent">
</android.support.design.widget.TabLayout>

<android.support.v4.view.ViewPager
 android:layout_width="0dp"
 android:id="@+id/viewPager"
 android:layout_height="0dp"
 app:layout_constraintTop_toBottomOf="@+id/tabLayout"
 app:layout_constraintLeft_toLeftOf="parent"
 app:layout_constraintRight_toRightOf="parent"
 app:layout_constraintBottom_toBottomOf="parent"
 app:layout_constraintHorizontal_bias="0.0"
 app:layout_constraintVertical_bias="0.0">    
</android.support.v4.view.ViewPager>

我的依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
    compile 'com.android.support:cardview-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'
    compile 'com.android.support:recyclerview-v7:24.2.1'
}

它可能在Marshmallow和Nougat中有效,可能在Lollipop上。

我不知道我错过了什么。

我调查this,但找不到答案。

谢谢!

2 个答案:

答案 0 :(得分:1)

以某种方式正确显示但在ViewPager背面的按钮。

在我的onCreate()函数中,我刚刚添加了.bringToFront();在我所有的FAB上,它们现在都可见了!

实施例

FloatingActionButton btnAgregar;
btnAgregar = (FloatingActionButton) findViewById(R.id.btnAgregar);
btnAgregar.bringToFront();

答案 1 :(得分:0)

Kitkat和之前的布局做了一些奇怪的事情,有时甚至在你有一个元素表明它并不重要的时候按顺序排列你的xml。因此,请尝试以编程方式将其放在前台或将xml放在最后。