工具栏实际上是一个片段视图,背景是活动。 这是片段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认为工具栏位于屏幕的顶部,因此无处可以绘制按钮。
为什么按钮被裁剪了?