Android:当 Appcomat 底页显示时调整 EditText 的大小

Android: Resize EditText when Appcomat bottomsheet shows

我有一个多行的 EditText 和一个按钮,该按钮会弹出一个持久的底部 sheet(模态不会在这里做)。

底部sheet基本上是一个LinearLayout,变成了一个appcompat底部sheet,用

app:layout_behavior="@string/bottom_sheet_behavior"

在 XML.

按下按钮会像这样调出:

 View bottomSheet = context.findViewById(R.id._bottom_sheet);

 BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet);

 behavior.setState(BottomSheetBehavior.STATE_EXPANDED);

现在,我知道这是预期的行为,底部 sheet 覆盖了那里的所有内容(我不想让它成为模态,因为 EditText 需要保留其焦点和选择等) ,但我的问题是:

有没有办法使底部视图调整 EditText 的大小,以便始终显示 "whole"? 就像显示键盘时一样。

(已编辑:原来的问题允许平移,这会隐藏视图的顶部)

还是我最好将它变成 "regular" 视图,然后单击按钮使其成为 "come up"?

感谢您的见解。

Edit:我还需要提一下,Bottomsheet定义在main activity上,而EditText在a中的ViewPager上片段(这使得调整大小变得不那么简单)

原来这个问题并不是真正的问题,而是解决问题的错误方法。有问题的 EditText 本身被放置在 ViewPager 上。调整 Viewpager 本身调整了其中所有内容的大小,并正确调整了 EditText.

的大小

感谢 m vai 上面的评论指导我找到这个解决方案。