Немного нового здесь. Я занимаюсь разработкой Android на два месяца, но у меня многолетний опыт разработки в других средах.FloatingActionButton, layout_anchor и layout_gravity
Хорошо. У меня есть FloatingActionButton
, который не показывался там, где я ожидал его или хотел его. Он находится внутри CoordinatorLayout
, а также AppBarLayout
/Toolbar
и после ListView
.
Вот раскладка:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
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/fragment_coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".ViewVehicleList">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:title="Vehicle List"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.AppBarLayout>
<ListView
android:id="@+id/Vehicle_ListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#FFFFFF"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</ListView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_AddVehicle"
style="@style/FloatingAddButton"
android:src="@drawable/ic_green_add"
android:layout_gravity="bottom|end"
app:layout_anchor="@id/Vehicle_ListView"
android:onClick="addVehicle"/>
</android.support.design.widget.CoordinatorLayout>
При такой схеме, экран выглядит следующим образом:
Мой layout_gravity
говорит "bottom|end"
. Я изменил его на "bottom|right"
, но получил тот же результат. Я прочитал много учебников и исследовал Stack Overflow, и мне не повезло.
мне удалось решить путем удаления якорь, указанный в элементе FAB app:layout_anchor="@id/Vehicle_ListView"
, который, кажется, противоречит тому, что я прочитал: использовать FAB и расположить его правильно, вы должны использовать layout_anchor
и layout_gravity
. Без тега привязки, это выглядит следующим образом:
Так вот мой вопрос: Почему мой якорь прищурив позиционирование моего FloatingActionButton
? Что я делаю не так?
-boster