片段工具栏中的Android覆盖按钮被剪裁

时间:2015-10-14 11:12:30

标签: android android-fragments

想法:我想要一个按钮从工具栏中绘制成覆盖图,如下所示: enter image description here

工具栏实际上是一个片段视图,背景是活动。 这是片段xml:

...
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:id="@+id/mToolbar"
    android:layout_width="match_parent"
    android:layout_height="75dp"
    android:minHeight="?attr/actionBarSize"
    android:background="@drawable/bluebox"
    android:elevation="2dp"
    local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    local:popupTheme="@style/ThemeOverlay.AppCompat.Light"
    android:clipChildren="false">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_toLeftOf="@+id/relativeLayout"
        android:layout_toStartOf="@+id/relativeLayout"
        android:clipChildren="false">         <----- Define clipping false

        <Button
            android:layout_width="52dp"
            android:layout_height="52dp"
            android:id="@+id/bpkicker"
            android:background="@drawable/whitecircle"
            android:elevation="2dp"
            android:layout_marginTop="-25dp"   <--- Over the view edge
            android:layout_marginRight="20dp"
            android:onClick="goToCurrentLocation"/>
    </RelativeLayout>
</android.support.v7.widget.Toolbar>
...

在片段onCreateView中,我将片段y坐标设置为特定高度。 (我只希望在打开应用程序时从屏幕底部显示工具栏。它将跟随用户的手指向上滑动或按下按钮后被踢起)。

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    ObjectAnimator anim = ObjectAnimator.ofFloat(buildingPageView, "y", USEABLE_HEIGHT, USEABLE_HEIGHT-TOOLBAR_HEIGHT-VIRT_NAV_BAR);
    anim.setDuration(500);
    anim.start();

问题是该按钮仍然被剪裁。我相信问题是android认为工具栏位于屏幕的顶部,因此无处可以绘制按钮。

左边是android studio实现,右边是app本身: Left is android studio implementation, right is the app

为什么按钮被裁剪了?

0 个答案:

没有答案