额外填充围绕浮动操作按钮的Android

问题描述:

enter image description here额外填充围绕浮动操作按钮的Android

我想作一简介页面中的Android。我正在使用浮动按钮来显示用户图片。

最初我想显示一个默认图片。

我的XML代码是这样的:

<android.support.design.widget.FloatingActionButton 
    android:layout_height="100dp" 
    android:layout_width="100dp" 
    android:id="@+id/userIcon" 
    app:fabSize="normal" 
    android:src="@drawable/male_icon" 
    app:pressedTranslationZ="12dp" 
    app:layout_anchor="@id/app_bar" 
    app:layout_anchorGravity="bottom|center" /> 

我的问题是,为什么周围有一些FAB额外的空间。不能删除该空格/填充?

编辑:

这里是我完整的XML代码::

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/app_bar_height" 
    android:fitsSystemWindows="true" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/toolbar_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:fitsSystemWindows="true" 
     android:background="@drawable/background" 
     app:contentScrim="#2678AD" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 
    </android.support.design.widget.CollapsingToolbarLayout> 
</android.support.design.widget.AppBarLayout> 

<include layout="@layout/content_scrolling" /> 

<android.support.design.widget.FloatingActionButton 
    android:layout_height="100dp" 
    android:layout_width="100dp" 
    android:id="@+id/userIcon" 
    app:fabSize="normal" 
    android:src="@drawable/male_icon" 
    app:pressedTranslationZ="12dp" 
    app:layout_anchor="@id/app_bar" 
    app:layout_anchorGravity="bottom|center" /> 

+0

您可以给边距如:android:layout_marginEnd =“7dp” android:layout_marginBottom =“10dp” – kgandroid

试试这个:

app:borderWidth="0dp" 

,您还可以使用高程

app:elevation="6dp" 

去除阴影看到这个link.

如果它不工作,然后尝试管理轮廓阴影这样的:

Button fab = (Button) rootView.findViewById(R.id.fabbutton); 

    Outline mOutlineCircle; 
    int shapeSize = getResources().getDimensionPixelSize(R.dimen.shape_size); 
    mOutlineCircle = new Outline(); 
    mOutlineCircle.setRoundRect(0, 0, shapeSize, shapeSize, shapeSize/2); 

    fab.setOutline(mOutlineCircle); 
    fab.setClipToOutline(true); 
+0

嘿@sagar,感谢您的答复,但没有帮助! –

+0

其中你正在测试的设备.. –

+0

如果它的前棒棒糖,然后影子 –

我觉得这是保证金,不填充。尝试以编程方式做到这一点:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { 
     RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) floatingActionButton.getLayoutParams(); 
     params.setMargins(0, 0, 0, 0); 
     floatingActionButton.setLayoutParams(params); 
    } 

还是尽量把FloatingActionButton到CoordinatorLayout,如下面的例子:

<?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"> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/bt_ok" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="right" 
     android:layout_marginRight="10dp" 
     app:backgroundTint="@color/primary" 
     app:borderWidth="0dp" 
     app:fabSize="mini"/> 
</android.support.design.widget.CoordinatorLayout> 
+1

嘿@惠,试图解决它的务实,但没有帮助。而FAB是在一个坐标布局 –

+0

请发布您的充满xml,dimens价值:) – alway5dotcom

+0

刚刚更新了我的完整xml代码 –

ü可能要到scaletype属性更改为中心。像,

android:scaleType="center" 

在布局文件集属性提升为0,因为它采用默认高程。

app:elevation="0dp" 

现在在活动检查api级别大于21并设置高度如果需要。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     fabBtn.setElevation(10.0f); 
    } 

因为您使用的是相反的app:fabSize="normal"。更改为app:fabSize="mini"