如何在BottomSheet上方附加ImageView?

时间:2019-08-20 13:51:41

标签: android

我找到了这篇文章

https://medium.com/android-bits/android-anchoring-views-to-bottom-sheet-9c9069caf7d4

在这里说明情况,除了我需要更改的一件事以外,我还需要什么。我将FloatingActionButton更改为ImageView,因为我需要在ImageView上方附加BottomSheet

所以,我的xml

<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

.........

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

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="8dp"
        android:src="@drawable/my_image"
        app:layout_anchor="@+id/ll_other_bottom_sheet"
        app:layout_anchorGravity="top|end" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

还有屏幕截图

enter image description here

您可以看到BottomSheet上方的一半图像,以及<ImageView android:layout_width="170dp" android:layout_height="50dp" android:layout_marginBottom="60dp" android:src="@drawable/my_image" app:layout_anchor="@+id/ll_other_bottom_sheet" app:layout_anchorGravity="top|end" /> 下方的一半图像...

我需要整张图片都在上方

我试图这样改变边距

BottomSheet

在初始状态下看起来还可以

enter image description here

但是当我展开import matplotlib as mpl import matplotlib.font_manager as font_manager mpl.rcParams['font.family']='serif' cmfont = font_manager.FontProperties(fname=mpl.get_data_path() + '/fonts/ttf/cmr10.ttf') mpl.rcParams['font.serif']=cmfont.get_name() mpl.rcParams['mathtext.fontset']='cm' mpl.rcParams['axes.unicode_minus']=False import matplotlib.pyplot as plt plt.plot([-1,2,3],[4,3,4]) plt.text(1.5,4,'Hello!') plt.show() 时,我会得到这样的结果

enter image description here

所以,问题是:如何将ImageView附加在BottomSheet的上方,并且应该始终位于上方,与扩展或折叠的底页无关...

1 个答案:

答案 0 :(得分:0)

请勿为此使用边距。为layout_dodgeInsetEdges="bottom"使用ImageView属性。检查the packaging guide here了解更多信息。

<ImageView
   android:layout_width="170dp"
   android:layout_height="50dp"
   android:src="@drawable/my_image"
   app:layout_anchor="@+id/ll_other_bottom_sheet"
   app:layout_anchorGravity="top|end"
   app:layout_dodgeInsetEdges="bottom" />