您好我可以在Android 5.0上运行底页,但不能在kitkat上运行。
已编辑 奇怪的是,当我预先看到最近的应用并再次打开应用时,它会开始工作吗?没有头绪O.o 这是我的build.gradle
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
..}
View mBottomSheet = view.findViewById(R.id.location_bottom_sheet);
BottomSheetBehavior mBehavior = BottomSheetBehavior.from(mBottomSheet);
mBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
}
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
}
});
点击我这样做
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
mBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
mBottomSheet.setVisibility(View.VISIBLE);
handler.removeCallbacks(this);
}
}, 500);
仍然没有工作anyboyd有任何想法为什么会发生这种情况。
答案 0 :(得分:0)
我在23.0.2中遇到与KitKat和BottomSheet完全相同的问题。 在我的情况下,它是由活动的xml中的标签顺序引起的。 我在地图之前放置了BottomSheet,在这种情况下,BottomSheet与KitKat上的地图重叠(但不是在Android 5上)。所以要解决你应该做的问题,例如:
<FrameLayout
android:id="@+id/frameMain"
android:layout_width="match_parent"
android:layout_height="match_parent">
...
<android.support.v4.widget.NestedScrollView
android:id="@+id/bottomSheet>
...
和反之亦然。希望我足够具体:)
答案 1 :(得分:0)
这是谷歌开发人员所讨论的已知问题 在一些Pre-lollipop设备上,底页不起作用
我在R&amp; D之后找到了一天的解决方案。 试试这个
ViewCompat.postOnAnimation(yourCoordinator, new Runnable() {
@Override
public void run() {
ViewCompat.postInvalidateOnAnimation(yourCoordinator);
}
});
初始化视图后放置此代码