大佬教程收集整理的这篇文章主要介绍了Android Bottomsheet TextView高度未在首次展开时调整,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我使用了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>
<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之后发生了高度重新布局,因为我将它从折叠中滑出并且多行已经存在.
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会导致该问题?
@H_489_2@
@H_646_11@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) { } }); @H_489_2@ @H_489_2@
以上是大佬教程为你收集整理的Android Bottomsheet TextView高度未在首次展开时调整全部内容,希望文章能够帮你解决Android Bottomsheet TextView高度未在首次展开时调整所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。