【问题标题】:Positioning floating action button at bottom right将浮动操作按钮定位在右下角
【发布时间】:2017-10-16 12:36:37
【问题描述】:

我在片段中实现了一个浮动操作按钮,将其放在右下角,源代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical">


 <ListView
     android:id="@+id/listtipologie"
     style="@style/Widget.AppCompat.Light.ListView.DropDown"
     android:layout_width="match_parent"
     android:layout_height="0dp"
     android:layout_weight="1"
     android:clickable="false"
     android:divider="@null"
     android:dividerHeight="10dp"
     android:focusable="false"
     android:footerDividersEnabled="false"
     android:headerDividersEnabled="false"
     android:padding="10dip"></ListView>

  <android.support.design.widget.FloatingActionButton
     android:id="@+id/submit"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_margin="16dp"
     android:clickable="true"
     android:gravity="right"
     android:layout_alignParentBottom="true"
     android:layout_alignParentEnd="true"
     android:layout_alignParentRight="true"
     android:layout_gravity="end|bottom"
     android:layout_below="@id/listtipologie"
     app:srcCompat="@drawable/submit_icon" />



</LinearLayout>

在android studio上显示如下:

但是我在手机上运行的时候,悬浮的动作按钮并没有出现在右下角而是高了一点。 应用是这样显示的:

谁能帮帮我? 提前致谢。

【问题讨论】:

  • 您是否尝试删除或更改android:layout_margin 的值?
  • 尝试从您的列表视图中删除 android:layout_weight="1"。
  • 使用相对布局而不是线性布局。因为以下属性: android:layout_alignParentBottom="true" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" 不适用于线性布局。然后删除 android:layout_below="@id/listtipologie"
  • android:layout_below="@id/listtipologie" 为什么这行?这在这里没有任何意义。
  • 没有浮动操作按钮留在那个位置,我不明白这个问题。

标签: android layout floating-action-button


【解决方案1】:

使用 FrameLayout 代替 LinearLayout

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">


 <ListView
     android:id="@+id/listtipologie"
     style="@style/Widget.AppCompat.Light.ListView.DropDown"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:clickable="false"
     android:divider="@null"
     android:dividerHeight="10dp"
     android:focusable="false"
     android:footerDividersEnabled="false"
     android:headerDividersEnabled="false"
     android:padding="10dip"></ListView>

  <android.support.design.widget.FloatingActionButton
     android:id="@+id/submit"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_margin="16dp"
     android:clickable="true"
     android:layout_gravity="bottom|right"
     app:srcCompat="@drawable/submit_icon" />

</FrameLayout>

【讨论】:

  • 此解决方案不起作用。按钮不在屏幕底部查看
  • @MirkoMarasco 使用 android:layout_gravity="bottom|right" 和按钮
  • 以前它只是重力,现在它是 layout_gravity,因为这是我的目标@MirkoMarasco
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
  • 2020-11-15
  • 2019-11-28
  • 2015-06-25
  • 2018-08-10
  • 2020-01-03
相关资源
最近更新 更多