首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android bottomSheet无法以编程方式更新子大小

Android BottomSheet是一种常用的用户界面组件,它可以以半透明的形式从屏幕底部弹出,提供额外的操作选项或显示相关信息。然而,BottomSheet在编程方式更新子视图的大小方面存在一些限制。

BottomSheet的大小由其内容决定,无法直接以编程方式更新子视图的大小。这是因为BottomSheet的高度是根据内容的高度自动调整的,无法直接设置固定的高度。如果需要更新BottomSheet的子视图大小,可以通过以下方法实现:

  1. 动态调整子视图的高度:可以通过修改子视图的布局参数来改变其高度。例如,可以使用LinearLayout.LayoutParams或RelativeLayout.LayoutParams等布局参数类,设置子视图的高度为所需的大小。然后,通过调用子视图的requestLayout()方法来触发布局的重新计算和绘制。
  2. 使用自定义布局:可以创建一个自定义的布局文件,将其作为BottomSheet的内容视图。在自定义布局中,可以使用固定的高度或其他布局参数来控制子视图的大小。然后,将自定义布局设置为BottomSheet的内容视图。

需要注意的是,由于BottomSheet的高度是自适应的,更新子视图的大小可能会导致布局不正常或显示不完整。因此,在更新子视图大小之前,建议先考虑是否有其他更合适的解决方案,以避免可能的界面问题。

关于Android BottomSheet的更多信息和使用示例,可以参考腾讯云的相关文档和产品介绍:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android编程实现使用handler在线程中更新UI示例

本文实例讲述了Android编程实现使用handler在线程中更新UI。...; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView...<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com.../ </RelativeLayout 更多关于Android相关内容感兴趣的读者可查看本站专题:《Android线程与消息机制用法总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总...》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》 希望本文所述对大家Android程序设计有所帮助

1.7K51

android BottomSheetDialog新控件解析实现知乎评论列表效果(实例代码)

" <ImageView android:id="@+id/dialog_bottomsheet_iv_close" android:layout_width="45dp" android:...="10dp" android:layout_toRightOf="@id/dialog_bottomsheet_iv_close" android:text="评论" android:textColor...bottomSheetDialog.show(); 方法来查看BottomSheetDialog显示效果 使用过程中出现的问题 当我们向下滑动BottomSheetDialog隐藏Dialog后,无法用...有一个静态方法BottomSheetBehavior.from(View),会返回这个View引用的BottomSheetBehavior,这个方法会检查这个View是否是CoordinatorLayout的View...BottomSheetBehavior.STATE_COLLAPSED,也就是半个打开状态(BottomSheetBehavior.STATE_EXPANDED为全打开),至此就解决了调用show()方法无法正常打开的问题

2.3K31

听说谷歌Baba更新了 Material UI ...

本文预计阅读:10分钟 听说谷歌Baba的IO大会更新了一些新奇的小玩意~ 新东西忒多,这里先重点关注下有关:Material UI。 最近的状态啊,真是千万头草泥马奔腾而过。。。...他们可以垂直拖动暴露他们的内容列表。 注意:如果要使用模态(对话框)的底页,请使用 BottomSheetDialogFragment。...; import android.view.View; import com.google.android.material.bottomsheet.BottomSheetBehavior; import...如果已经在Activity使用CoordinatorLayout,添加底部表单很简单: 将任何视图添加为CoordinatorLayout的直接视图。...通过添加以下xml属性来应用该行为 app:layout_behavior=”com.google.android.material.bottomsheet.BottomSheetBehavior”

3K20

Android Socket通讯 之 表情列表优化、业务逻辑优化

= null 在发送消息到客户端的时候对这个线程池进行初始化,并且执行线程,修改sendToClient()函数,代码如下: fun sendToClient(msg: String) {...= null 在发送消息到服务端的时候对这个线程池进行初始化,并且执行线程,修改sendToServer()函数,代码如下: fun sendToServer(msg: String) {...① BottomSheet使用   Android中的布局可以实现这样的功能,因为底部是一样的,所以可以写在一起,目前我们先这么来写,后续可能会有改动。...//BottomSheet显示隐藏的相关处理 bottomSheetBehavior!!....这其实的编程的思想不断进步有关系,第一篇文章,我们就是服务端和客户端写到一起的,然后在第二篇的时候觉得可以分开写,各自做各自的事情,但是会产生一些重复的代码和布局。

84310

Flutter学习

常用网址 Flutter 开发文档 Flutter实战 Dart 编程语言概览 pub仓库 main函数使用了(=>)符号, 这是Dart中单行函数或方法的简写。...与Android view区别 Android中View是可变的,当用户交互或数据更新时,可直接调用View的invalidate方法重绘,达到更新UI的目的。...中,您可以从父级控件调用addChild或removeChild动态添加或删除View。...; 而MainAxisSize.min表示尽可能少的占用水平空间,当组件没有占满水平剩余空间,则Row的实际宽度等于所有组件占用的的水平空间 textDirection:表示水平方向组件的布局顺序...Navigator可以通过push和pop route实现页面切换。 在Flutter中,导航器管理应用程序的路由栈。将路由推入(push)到导航器的栈中,将会显示更新为该路由页面。

2.6K20

聊聊Android嵌套滑动

onStartNestedScroll,如果view的父布局同意view嵌套滑动,则返回true,如果不同意就继续询问父布局的父布局是否同意,如果到view树的最顶端还不支持,那么就返回false,无法进行嵌套滚动了...因为有了一次 pre-scroll 操作,我们才可以让view在第一次执行嵌套滑动分发的时候,带上自己没有消费的距离,也就是 unconsumedY : 到这里 Android 的嵌套滑动机制就比较明了了...这里的 bottomsheet Dialog 的布局,其实是 design 包里面内置的,我们也可以自己实现这个dialog,布局是这样的: 这里需要让它第二个view传入一个 behavior...,这里是系统 BottomSheet 手势的behavior。...总结 到这里,Android的嵌套滑动机制就介绍完了。

1.2K10

腾讯开源超实用的UI轮子库,我是轮子搬运工

丰富的 UI 控件 提供丰富常用的 UI 控件,例如 BottomSheet、Tab、圆角 ImageView、下拉刷新等,使用方便灵活,并且支持自定义控件的样式。...支持以下特性: 控制 View 之间的垂直/水平间距。 控制 View 的水平对齐方向(左对齐/居中/右对齐)。 限制 View 的个数或行数。...QMUIProgressBar 一个进度条控件,通过颜色变化显示进度,支持环形和矩形两种形式,主要特性如下: 支持在进度条中文字形式显示进度,支持修改文字的颜色和大小。...QMUICustomTypefaceSpan 支持 Typeface 的方式设置 span 的字体,实现自定义字体的效果。...QMUITextSizeSpan 支持调整字体大小的 span。AbsoluteSizeSpan 可以调整字体大小,但在中英文混排下由于decent的不同,无法根据具体需求进行底部对齐或者顶部对齐。

4.7K30

Flutter 全栈式——页面框架

onGenerateRoute RouteFactory 通过pushNamed跳转路由页面时,在routes查找不到时回调 onUnknownRoute RouteFactory onGenerateRoute 无法生成路由时调用...navigatorObservers List 导航的监听器列表 builder TransitionBuilder 构建Widget前调用, 一般做字体大小,方向...默认为 ThemeData.scaffoldBackgroundColor bottomNavigationBar Widget 显示在底部的导航栏 bottomSheet Widget 底部永久性显示的提示框...以避免被弹出键盘所遮盖,默认为true primary bool 是否填充顶部栏,默认为true drawerDragStartBehavior DragStartBehavior 处理拖动开始行为的方式...floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked, ); } 视频课程 博主发布的相关视频课程 Flutter全栈式开发之Dart 编程指南

2.8K30

Android底部弹窗的实现示例代码

收获早知道 阅读完本文后,你可以有以下收获 利用PopupWindow实现底部弹窗 PopupWindow实现底部弹窗时的缺点 解决利用PopupWindow实现底部弹窗,无法覆盖状态栏的问题 利用dialog...实现底部弹窗 利用dialogFragment实现底部弹窗 实现底部弹窗的方式 由于本人水平有限,只知道一下几种实现底部弹窗的方式 利用PopupWindow实现底部弹窗。...下面,就利用以上三种方式分别实现Android中的底部弹窗。...注:这里使用的是填充父窗口的方式,如果不这样做的话,就不能看出遮住后面的效果,看下图更容易理解,左图为填充父布局的方式,右图为 自适应的方式 ?...,大家可以下载源码研究一下, 源码在这里 ,在做项目时选择最适合的就好,在这里还是推荐使用DialogFragment,这种方式可定制性很高,实现弹窗的方式也比较优雅。

4.2K31

Flutter之GetX集成及使用详解

但是还有一个问题,使用的时候需要每次都使用 'hello'.tr ,这种手动的方式很不友好,没有提示且可能会写错,因此可以再进行优化一下,像 Android 中使用 String 资源那样,定义一个专门存放字符串...navigatorKey, }) bottomSheet 使用如下: Get.bottomSheet(Container( height: 200, color: Colors.white, child...: const Center( child: Text("bottomSheet"), ),)); 效果: 仔细查看发现无论是 snackbar 、dialog 还是 bottomSheet...//在Windows、iOS、OSX、Android等系统上。GetPlatform.isWeb // 相当于.MediaQuery.of(context).size.height,//但不可改变。...context.isLargeTablet() ///如果当前设备是平板电脑,则为真context.isTablet() ///根据页面大小返回一个值。

9.3K42

Flutter 入门指北之弹窗和提示(干货)

BottomSheet BottomSheet 看命名就知道是从底部弹出的菜单,展示 BottomSheet 有两种方式,分别是 showBottomSheet 和 showModalBottomSheet...,两种方式只有在展示类型上的差别,方法调用无差,而且 showBottomSheet 和 fab 有组合动画,showModalBottomSheet 则没有,看下实际的例子吧。...在 ListView 中增加一个 BottomSheet 的按钮,因为 BottomSheet 需要的 context 也不能是 Scaffold 下的 context,所以需要通过 Builder 进行包裹一层...和 AboutDialog,当然在 Cupertino 风格下也有相应的 Dialog,因为这个系列 MaterialDesign 风格为主,所以 Cupertiono 等下次有时间再写吧。...is a copyright notice topically', // App 的图标 applicationIcon: Icon(Icons.android

2K20

【Flutter】StatefulWidget 组件 ( 创建 StatefulWidget 组件 | MaterialApp 组件 | Scaffold 组件 )

BottomNavigationBar : 底部导航栏 ; RefreshIndicator : 刷新指示器 ; Image : 图片组件 ; TextField : 输入框组件 ; PageView : 可滚动翻页的组件 , 类似于 Android...@override Widget build(BuildContext context) { // 文本组件样式 , 可以设置给 Text 文本组件 // 设置字体大小 20, 颜色红色...BoxDecoration 中可以设置的属性 decoration: BoxDecoration(color: Colors.grey), // 设置 child 组件居中方式..., 居中放置 alignment: Alignment.center, // 组件, 组件设置为一个 Column 组件 child:...flutterchina.club/faq/ ( 入门阶段推荐看一遍 ) 博客源码下载 : GitHub 地址 : https://github.com/han1202012/flutter_cmd ( 随博客进度一直更新

1.9K00

Widget中的state到底是什么

如果你有过原生系统(iOS、Android)或者原生JavaScript开发经验的话,应该知道视图开发是命令式的,需要精确地告诉操作系统或浏览器用何种方式去做事情。...这样一来,开发者将无需精确关注UI编程中的各个过程细节,只要维护好数据集即可。比起命令式的视图开发方式需要挨个设置不同组件(Widget)的视觉属性,这种方式要便捷得多。...StatelessWidget 在Flutter中,Widget采用由父到、自顶而下的方式进行构建,父Widget控制着Widget的显示样式,其样式配置由父Widget在构建时提供。...可以看到,这个组件的父Widget只能控制Widget初始的样式展示效果,而无法控制在交互过程中发生的颜色变化。所以,我无法通过继承StatelessWidget的方式来自定义组件。...image, // 其他初始化配置 ... ); return image; } ... } 可以看到,在这个例子中Image一种动态的方式运行:监听变化

2.8K20
领券