材料设计理念 - 底部工作表从屏幕底部向上滑动以显示更多内容。
我想打开带有自定义选项的底页,而不是中型或大型棘爪。我在 SwiftUI 中检查了有一个名为 .fraction 的 API,但在 UIKit 中找不到类似的 API。 斯威夫特用户界面 Text("检测...
如何从 Android JetPack Compose ModalBottomSheetLayout 中删除顶部填充?
我尝试了几个小时,但没有成功从 Compose ModalBottomSheetLayout 中删除顶部填充。 我尝试通过内部材质类进行调试以跟踪填充的位置...
我正在尝试添加具有响应高度的应用程序底部工作表,我可以通过编程方式设置该高度。为此,我尝试使用此视频。这是我的视图控制器的代码: 结构 SecondView:
有没有办法将FloatingActionButton保持在固定位置(打开BottomSheet)?
我正在开发一个flutter应用程序,它有一个页面,其中有一个(圆形凹口矩形)BottomAppBar、一个FloatingActionButton和一个BottomSheet,当用户单击标记时会出现......
kotlin - 如何在 Jetpack Compose ModalBottomSheet 内滚动可滚动列?
我正在使用 Kotlin v1.7.20 和 androidx.compose.material3 实现 v1.3.0-beta04。 我需要将内容放入底部工作表中。这个内容太长了,高度超过了设备的高度
更改 BottomSheetDialogFragment 的稀松布颜色
如何更改 BottomSheetDialogFragment 稀松布颜色 - 暗淡的覆盖颜色? 您可以通过 DrawerLayout.setScrimColor(ContextCompat.getColor(this, R.color.dimOverlay)) 对 DrawerLayout 执行此操作
在桌面上通过设备后退触发/通过键盘手动后退触发时,对话框/Bottomsheet Flutter Web 不会弹出
在桌面上通过设备后退触发/通过键盘手动后退触发时,对话框/Bottomsheet Flutter Web 不会弹出 它应该在页面之前首先弹出对话框/底页,但条件是
我正在尝试实现底部工作表。我使用了 showModalBottomSheet。我需要更改底部工作表的拖动手柄颜色。 显示ModalBottomSheet( 上下文:上下文, ...
使用Jetpack Compose Bottom Sheet实现Snapchat的个人资料屏幕底部表
我正在创建一个类似于 Snapchat 的个人资料屏幕的个人资料屏幕,其中包括背景个人资料图片和显示姓名和其他详细信息的底部表格。我已经实施了 SCR...
是否可以在 Jetpack Compose 中创建“三态”底部工作表?
我尝试通过文档、视频和 Stack Overflow 问题四处寻找,但没有找到我想要的东西。 我想要的是一个模态样式的底页......
我想在底部工作表完全向上时向下滚动视图(向上拖动到整个屏幕)。向上滚动时效果很好,但向下滚动时则不起作用。相反,整个底部
带有可滚动视图的BottomSheetDialogFragment
我有一个带有约束布局的 BottomSheetDialogFragment 布局,并且约束布局有一个 NumberPicker。 NumberPicker 滚动正常,但如果用户滚动到选择器之外,底部...
启动时不关注 Talkback 可访问性 ModalBottomSheetLayout
创建了模态底部表单。当底部工作表启动时对讲开启时尝试获得焦点。它不起作用。另外,当移动焦点时,它也会集中在视图后面的组件上......
我正在使用 https://pub.dev/packages/persistent_bottom_nav_bar 包来显示底部栏。当按下底部栏选项卡之一时,我需要打开底部表格。我已经成功地使用
我想创建一个带有选项卡的底板,选项卡下方有一个选项卡视图可以滚动,而无需滚动选项卡及其上方的手柄。当把手拉起时,底部...
BottomSheetScaffold 根据材质规格,最大宽度为 640dp:
如何占用BottomNavigationView之后剩余的空闲空间
activiti xml 文件: activiti xml 文件: <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="JavaClassForActivity.Profile" android:id="@+id/ProfileLayout" android:background="@drawable/main_back_ground"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/profileFrameLayout" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_constraintBottom_toTopOf="@id/bottomNavigation" app:layout_constraintTop_toTopOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent"> </FrameLayout> <androidx.coordinatorlayout.widget.CoordinatorLayout android:id="@+id/mainCoordinatorLayout" android:layout_width="match_parent" android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@id/bottomNavigation" app:layout_constraintTop_toTopOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent"> <include android:id="@+id/bottom_sheet_parent" layout="@layout/bottom_sheet_music" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" /> </androidx.coordinatorlayout.widget.CoordinatorLayout> <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottomNavigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="bottom" app:menu="@menu/bottom_nav_menu" android:background="@color/teal_700" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent"/> </androidx.constraintlayout.widget.ConstraintLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout> Java代码: public class Profile extends AppCompatActivity{ BottomNavigationView bottomnavigation; private BottomSheetBehavior<View> bottomSheetBehavior; private LinearLayout layoutTop, layoutExpanded; int peekHeight; private View bottomSheet; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_your_profile); bottomSheet = findViewById(R.id.bottom_sheet_parent); bottomnavigation=findViewById(R.id.bottomNavigation); View bottomSheet = findViewById(R.id.bottom_sheet_parent); bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet); layoutTop = findViewById(R.id.layout_top); layoutExpanded = findViewById(R.id.layout_expanded); // Setup the bottom sheet with initial peek height and behavior settings setupBottomSheet(); // Set initial state bottomSheetBehavior.setState(BottomSheetBehavior.STATE_COLLAPSED); } private void setupBottomSheet() { ViewTreeObserver vto = layoutTop.getViewTreeObserver(); vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { layoutTop.getViewTreeObserver().removeOnPreDrawListener(this); peekHeight = layoutTop.getHeight(); bottomSheetBehavior.setPeekHeight(peekHeight); bottomSheetBehavior.setHideable(false); bottomSheetBehavior.setFitToContents(true); return true; } }); bottomSheetBehavior.addBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() { @Override public void onStateChanged(@NonNull View bottomSheet, int newState) { handleBottomSheetState(newState); } @Override public void onSlide(@NonNull View bottomSheet, float slideOffset) { handleSlideOffset(slideOffset); } }); } private void handleBottomSheetState(int newState) { if (newState == BottomSheetBehavior.STATE_EXPANDED) { layoutTop.setVisibility(View.GONE); layoutExpanded.setVisibility(View.VISIBLE); } else if (newState == BottomSheetBehavior.STATE_COLLAPSED) { layoutTop.setVisibility(View.VISIBLE); layoutExpanded.setVisibility(View.GONE); } else if (newState == BottomSheetBehavior.STATE_HALF_EXPANDED) { layoutTop.setVisibility(View.GONE); layoutExpanded.setVisibility(View.VISIBLE); // Only set state to expanded if necessary if (bottomSheetBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) { bottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); } } } private void handleSlideOffset(float slideOffset) { float topAlpha = 1 - slideOffset; float expandedAlpha = slideOffset; layoutTop.setAlpha(topAlpha); layoutExpanded.setAlpha(expandedAlpha); if (layoutTop.getVisibility() == View.VISIBLE && !layoutTop.isActivated()) { layoutExpanded.setVisibility(View.VISIBLE); } else if (layoutExpanded.getVisibility() == View.VISIBLE && !layoutExpanded.isActivated()) { layoutTop.setVisibility(View.VISIBLE); } bottomnavigation.setTranslationY(bottomnavigation.getHeight() * slideOffset); ViewGroup.LayoutParams params = bottomSheet.getLayoutParams(); params.height = bottomSheet.getHeight() + (int) (bottomnavigation.getHeight() * slideOffset); bottomSheet.setLayoutParams(params); } } bottom_sheet_music xml 文件: ` </LinearLayout> <!-- layout_expanded --> <LinearLayout android:id="@+id/layout_expanded" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:visibility="gone" android:background="@color/black"> </LinearLayout> 我不知道如何解决这个问题,如果你能给我一个如何解决这个问题的例子,我将不胜感激。 我尝试了发现的不同选项,但无法解决问题。任何帮助将不胜感激。 我遇到了同样的问题,但对我来说,在 BottomNavigation 后面使用一些具有所需颜色的图层解决了它
如何在 SwiftUi 中制作显示在选项卡栏上方的 .sheet 而不覆盖它?我已经看到了某种解决方案,但在 SwiftUi 中没有看到。 到目前为止,我尝试的任何事情都只是将工作表覆盖...
我确实使用以下代码将小部件显示为持久底部表(不是模式底部表): scaffoldKey.currentState?.showBottomSheet( 背景颜色:Colors.white,(BuildContext 内容...
朋友们! 我创建 FAB 底部工作表并希望将其设为“搜索”文本字段。但是,当我按下 FAB 时,结果发现键盘出现并位于底部纸张上,所以我看不到...