【发布时间】:2019-03-05 18:13:57
【问题描述】:
我正在尝试将 fab 按钮添加到我的布局中,以便将其用作搜索按钮。我想将它定位在布局的右下角,当一小块会超出布局时。
在我的预览屏幕上看起来不错(如我所愿): My preview screen
但是,在运行应用程序时,工厂位置不同: the running app screen
这是我的布局 xml:
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimaryDark"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:src="@drawable/departure" />
<AutoCompleteTextView
android:id="@+id/actvDepartureAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="Departure From"
android:imeOptions="actionDone"
android:textColor="#e8e9ff"
android:textColorHint="#e8e9ff" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:src="@drawable/landing" />
<AutoCompleteTextView
android:id="@+id/acTvLandingAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="Landing At"
android:textColor="#e8e9ff"
android:textColorHint="#e8e9ff" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:src="@drawable/calendar" />
<EditText
android:id="@+id/etDepartureDateAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:hint="Departure Date"
android:textAlignment="center"
android:textColor="#e8e9ff"
android:textColorHint="#e8e9ff" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="30dp"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:id="@+id/imgBackDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:src="@drawable/calendar" />
<EditText
android:id="@+id/etBackDateAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Back Date"
android:textAlignment="center"
android:textColor="#e8e9ff"
android:textColorHint="#e8e9ff" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:src="@drawable/person" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:text="Passengers"
android:textColor="#e8e9ff" />
<EditText
android:id="@+id/etNumOfPassengers"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:text="2"
android:textColor="#e8e9ff" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:gravity="center"
android:text="Round Trip"
android:textColor="#e8e9ff" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/chkIsDirect"
android:visibility="invisible"
android:text="Direct Only" />
</LinearLayout>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/btnSearchFlight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:clickable="true"
android:src="@drawable/search_flight"
app:useCompatPadding="true"
app:layout_anchor="@id/chkIsDirect"
app:layout_anchorGravity="bottom|right|end"/>
</android.support.design.widget.CoordinatorLayout>
【问题讨论】:
-
使用
layout_gravity代替layout_anchorGravity
标签: java android xml android-layout floating-action-button