2016-11-01 52 views
0

Image Link浮动按钮在某些设备

我提供我的应用程序的屏幕截图在应用栏的中心进行调整。您可以看到浮动按钮(在这种情况下,我使用了图像按钮并提供了图像)未显示完整,即其一半部分位于应用程序栏后面,应用程序栏呈绿色。尽管此相同的FAB按钮在某些设备和版本(如4.2,4.3)中显示完整,但在某些设备和我的5.0及更高版本上未显示完整。

以下是我对此布局的代码。

<?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:id="@+id/coordinator_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#FFFFFF" 
android:fitsSystemWindows="true"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/app_bar" 
    android:layout_width="match_parent" 
    android:layout_height="190dp" 
    android:fitsSystemWindows="true" 
    android:background="@drawable/cvr1" 
    app:expanded="true"> 
    <!--android:theme="?attr/customAppBarOverlay"--> 


<android.support.design.widget.CollapsingToolbarLayout 
    android:id="@+id/toolbar_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    app:contentScrim="?attr/colorPrimary" 
    app:layout_scrollFlags="snap"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     app:layout_collapseMode="pin" 
     android:background="@null"/> 


</android.support.design.widget.CollapsingToolbarLayout> 
</android.support.design.widget.AppBarLayout> 

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

<ImageButton 
    android:id="@+id/add_fab" 
    android:background="@drawable/starts" 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:layout_margin="@dimen/fab_margin" 
    app:layout_anchor="@id/app_bar" 
    app:elevation="0dp" 
    app:layout_anchorGravity="bottom|center" 
    /> 

</android.support.design.widget.CoordinatorLayout> 

我不知道究竟是什么问题。我在互联网上查过,但发现像这些线相同的解决方案,但仍然不显示完整

app:layout_anchor="@id/app_bar" 
app:layout_anchorGravity="bottom|center" 

请帮助!

+0

,而不是固定的利润率试'layout_centerVertical =“真”'和'layout_centerHorizo​​ntal =“真”' – rookieDeveloper

+0

没有它不工作:( –

+0

相对布局 – rookieDeveloper

回答

0

最佳实践是使用支持库提供的˚FA B(浮动操作栏)。

添加这的build.gradle文件:

compile 'com.android.support:design:24.2.1' 

而且CoordinatorLayout里面试试这个:

<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="match_parent" 
    android:orientation="vertical"> 

    <LinearLayout 
     android:id="@+id/viewA" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="0.4" 
     android:background="@android:color/holo_purple" 
     android:orientation="horizontal"/> 

    <LinearLayout 
     android:id="@+id/viewB" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="0.6" 
     android:background="@android:color/holo_orange_light" 
     android:orientation="horizontal"/> 

</LinearLayout> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="16dp" 
    android:clickable="true" 
    android:src="@drawable/ic_done" 
    app:layout_anchor="@id/viewA" 
    app:layout_anchorGravity="bottom|right|end"/> 

这应该产生FAB如下面的图片中提供:

enter image description here

为了改变FAB的位置,您可以更改:

app:layout_anchorGravity="bottom|right|end"/> 

的首选方式为布局的理想位置。

+0

我试过这个,但它仍然不起作用,一半的FAB按钮仍然隐藏在应用程序栏布局 –

0

原因是您在按钮上使用app:elevation="0dp"。由于AppBarLayout的默认标高为4dp,因此在棒棒糖设备及更高版本上,该按钮将被绘制在其下。

+0

它也不工作: –