我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,但找不到答案。
谢谢!
答案 0 :(得分:1)
以某种方式正确显示但在ViewPager背面的按钮。
在我的onCreate()函数中,我刚刚添加了.bringToFront();在我所有的FAB上,它们现在都可见了!
实施例
FloatingActionButton btnAgregar;
btnAgregar = (FloatingActionButton) findViewById(R.id.btnAgregar);
btnAgregar.bringToFront();
答案 1 :(得分:0)
Kitkat和之前的布局做了一些奇怪的事情,有时甚至在你有一个元素表明它并不重要的时候按顺序排列你的xml。因此,请尝试以编程方式将其放在前台或将xml放在最后。