我找到了这篇文章
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>
还有屏幕截图
您可以看到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
在初始状态下看起来还可以
但是当我展开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()
时,我会得到这样的结果
所以,问题是:如何将ImageView附加在BottomSheet的上方,并且应该始终位于上方,与扩展或折叠的底页无关...
答案 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" />