所以我使用了design-23.2.1库中的Bottomsheet.
我的布局文件如下所示:
<androID.support.design.Widget.CoordinatorLayout> ...... <linearLayout androID:ID="@+ID/bottom_sheet" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="vertical" app:behavior_peekHeight="@dimen/bottom_sheet_peek_height" app:layout_behavior="androID.support.design.Widget.BottomSheetBehavior"/></androID.support.design.Widget.CoordinatorLayout>
Bottomsheet的内容基本上是一个列表:
<linearLayout androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:orIEntation="vertical"> <TextVIEw androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:singleline="false" /> ...</linearLayout>
问题是每当Bottomsheet第一次设置为STATE_EXPANDED时,TextVIEw是单行并且文本被包装,并且在行结束时没有省略号….
然后在设置为STATE_ColLAPSED后,TextVIEw的高度很好,并且正确排列多行.
我知道在设置为STATE_ColLAPSED之后发生了高度重新布局,因为我将它从折叠中滑出并且多行已经存在.
提供了一个解决方法here.我跟着它并添加了这个:
bottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { @OverrIDe public voID onStateChanged(@NonNull VIEw bottomSheet,int newState) { if (newState == BottomSheetBehavior.STATE_EXPANDED) { bottomSheetBehavior.onLayoutChild(coordinatorLayout,bottomSheetVIEw,VIEwCompat.LAYOUT_DIRECTION_LTR); } } ........}
当Bottomsheet第一次展开时,它确实使高度重新调整.然而,它在扩展动画完成后突然发生.
有没有办法在扩展动画之前调整高度,就像谷歌地图一样?
更新
我发现这个问题是因为我在扩展之前将Bottomsheet设置为STATE_ColLAPSED.如果没有设置那么问题就会消失,第一次正确调整高度.
现在我的问题是:为什么在扩展之前将它设置为STATE_ColLAPSED会导致该问题?
解决方法 如果由于某种原因你仍然需要使用旧的支持库,这里是解决方法.mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { @OverrIDe public voID onStateChanged(@NonNull final VIEw bottomSheet,int newState) { bottomSheet.post(new Runnable() { @OverrIDe public voID run() { //workaround for the bottomsheet BUG bottomSheet.requestLayout(); bottomSheet.invalIDate(); } }); } @OverrIDe public voID onSlIDe(@NonNull VIEw bottomSheet,float slIDeOffset) { } });总结
以上是内存溢出为你收集整理的Android Bottomsheet TextView高度未在首次展开时调整全部内容,希望文章能够帮你解决Android Bottomsheet TextView高度未在首次展开时调整所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)