2016-04-21 78 views
1

我有一个多行EditText和一个按钮,该按钮显示一个持久性的底部工作表(模态不会在这里执行)。Android:当Appcomat底部显示屏显示时调整EditText

的bottomsheet基本上是一个的LinearLayout,在XML变成一个程序兼容性bottomsheet,与

app:layout_behavior="@string/bottom_sheet_behavior" 

的的buttonpress提起这件事是这样的:

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

BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet); 

behavior.setState(BottomSheetBehavior.STATE_EXPANDED); 

现在,我知道这是预期的行为,即底部片覆盖不管有没有(我不想让它模式,为的EditText需要保留其重点和选择等),但我的问题是:

有没有办法让底部视图调整EditText的大小,以便始终显示“整体”?有点像当你展示键盘时。

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

还是我最好只把它变成一个“普通”视图,使它按钮点击“出现”?

感谢您的洞察力。

编辑:我还需要提,Bottomsheet上的主要活动定义,而的EditText是在片段的ViewPager(这使得调整大小小于直截了当)

+1

将bottomSheetCallback设置为bottomSheet。当工作表使用浮动参数滑动时,您将收到回调。然后根据幻灯片值翻译您的视图。 – natario

+0

@mvai谢谢,这是一个很好的开始,现在我可以弄清楚有多少视图被完全覆盖。这也让我意识到,我的问题是错误的,平移只会推动事物,我真的需要调整它。仍然不知道如何。 setLayoutparams可能是一个解决方案,虽然... –

+0

是的,更改布局参数来改变高度。 – natario

回答

0

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

感谢上面的mVai的评论,指导我解决这个问题。