<Include> XML-файл с потрясающей кнопкой, как она есть - PullRequest
0 голосов
/ 01 декабря 2018

Я хочу включить в xml-файл другой xml-файл, содержащий кнопку fab в том же виде, в каком она есть. Проблема в том, что при i <include layout="@layout/fab она показывает мою потрясающую кнопку в левом верхнем углу экрана вместо нижнейсправа.

Вот мой xml-файл ( ConstraintLayout )

<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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".PlanPage.PlanPageView">


<include
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    layout="@layout/activity_fab_button"
    android:layout_gravity="end|bottom"/>

</android.support.constraint.ConstraintLayout>

, а вот потрясающая кнопка xml

<android.support.design.widget.FloatingActionButton
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="16dp"
android:src="@drawable/ic_plusphoto_fab"
android:backgroundTint="@color/colorPrimary"
/>

1 Ответ

0 голосов
/ 01 декабря 2018

Этот атрибут внутри fab xml:

android:layout_gravity="end|bottom"

не действует, когда вы включаете макет в другой макет.Вы должны установить атрибуты для этого макета:

<include
    layout="@layout/activity_fab_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent" />

, если он действителен.Если макет хоста макета включения не является LinearLayout, то вы должны установить другие атрибуты, например alignParentBottom для RelativeLayout, или ограничить его значениями Bottom и End для ConstraintLayout.

...