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

创造无限可能 | 在 Android 12 中使用 widget

Android 12 在多个方面改进了 widget 的配置方式,从而帮助用户采用更简单的方式对 widget 进行个性化配置。...dp 为单位,指定最大宽度和高度, // 并指定一个用于已指定尺寸的布局 val viewMapping = mapOf( SizeF(150f, 150f) to constructRemoteViews...您可以使用新的 maxResizeWidth 和 maxResizeHeight 属性,来定义用户所能够调整的 widget 尺寸的最大高度和宽度。...="2" ... /> xml/app_widget_info_checkbox_list.xml 响应式布局 尽管通过尺寸限制可以帮助用户根据自身需求调整 widget 大小,但您可能更想根据...val viewMapping: MutableMap = mutableMapOf() // 以 dp 为单位,指定最大宽度和高度, // 并指定一个用于已指定尺寸的布局

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    项目需求讨论 — ConstraintLayout 详细使用教程

    : android:minWidth设置布局的最小宽度 android:minHeight设置布局的最小高度 android:maxWidth设置布局的最大宽度 android:maxHeight设置布局的最大高度...复制代码 这些最小和最大尺寸将在ConstraintLayout使用 2.对内部的控件进行限制: 可以通过以3种不同方式设置android:layout_width和android:layout_height...Ratio可以设置为: 浮点值,表示宽度和高度之间的比率 “宽度:高度”形式的比率 如果两个维都设置为MATCH_CONSTRAINT(0dp),则也可以使用比率: 在这种情况下,系统设置满足所有约束条件的最大尺寸并保持指定的宽高比...为了约束一个特定的边,可以根据另一个边的大小来限定宽度或高度: 可以通过在比率前面添加字母W(用于限制宽度)或H(用于限制高度),用逗号分隔来指示哪一边应该受到约束: android:layout_width...指引可以是水平的也可以是垂直的: 垂直指南的宽度为零,它们的ConstraintLayout父项的高度为零 水平指南的高度为零,其ConstraintLayout父项的宽度为零 定位准则有三种不同的方式

    1.7K20

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

    分别指定不同方向的圆角大小。 指定圆角的大小为高度的一半,并跟随高度变化自适应圆角大小。 支持分别指定背景色和边框色,指定颜色时支持使用 color 或 ColorStateList。...提供了以下功能: 更多可参考 wiki 文档 在左侧/右侧添加图片按钮/文字按钮/自定义View。 设置标题/副标题,且支持设置标题/副标题的水平对齐方式。...QMUICustomTypefaceSpan 支持以 Typeface 的方式设置 span 的字体,实现自定义字体的效果。...AbsoluteSizeSpan 可以调整字体大小,但在中英文混排下由于decent的不同,无法根据具体需求进行底部对齐或者顶部对齐。...获取屏幕信息,包括屏幕密度、屏幕宽度和高度、状态栏高度、ActionBar 高度等。

    4.8K30

    WPF中的StackPanel、WrapPanel、DockPanel

    控件在未定义的前提下,宽度为StackPanel的宽度,高度自动适应控件中内容的高度 1: 2: Button...,取消自动的宽度和高度 HorizontalAlignment、VerticalAlignment属性 设定控件的水平或竖直对齐方式,如整体Orientation=”Vertical”的前提下,设置水平对齐为...Left、Right或Center,在没有设定宽度的情况下,控件的宽度自动调整 MinWidth、MinHeight、MaxWidth、MaxHeight属性 在调整窗体大小,同时更改控件大小时,控件宽度...Stack Items horizontally 有一个很好的例子,如有一个有“OK”和”Cancel“按钮的对话框,因为按钮上的文字可能因字体的改变而发生大小改变,我们应该避免固定按钮大小的写法。...StackPanel会自动根据面板的大小的自动调整内部控件的大小。我们就不用为按钮太大或太小而烦恼了。

    2K20

    再学一次ConstraintLayout 一些新特性

    属性如下(这些属性只有在给出的宽度或高度为wrap_content时才会生效): android:minWidth 设置布局的最小宽度 android:minHeight 设置布局的最小高度 android...:maxWidth 设置布局的最大宽度 android:maxHeight 设置布局的最大高度 八、Widgets dimension constraints 宽高约束 平时我们使用android:layout_width...在这种情况下,系统设置满足所有约束的最大尺寸并保持指定的纵横比。要根据另一个特定边的尺寸限制一个特定边,可以预先附加W,“或” H,分别约束宽度或高度。...例如,如果一个尺寸受两个目标约束(例如,宽度为0dp且以父节点为中心),则可以指示应该约束哪一边,通过 在比率前添加字母W(用于约束宽度)或H(用于约束高度),用逗号分隔: android...(右侧或底部) layout_constraintGuide_percent 距离父亲宽度或高度的百分比(取值范围0-1) 我们拿辅助线干嘛???

    1.7K40

    细细品读!深入浅出,官方文档看ConstraintLayout

    继承关系 ConstraintLayout和其他布局一样,继承自ViewGroup,但是不同点在于它调整控件的位置和大小时更加得灵活,功能更加强大。...来主要看一下外边距的新属性:GONE MARGIN 以图 3为例,这里的gone margin指的是B向A添加约束后,如果A的可见性变为GONE,这时候B的外边距可以改变,也就是B的外边距根据...上述代码中,按钮的高度满足受约束且设置为0dp的条件,所以其尺寸会按照比例随宽度调整。...,那么需要在比例前添加W,或H,以确定受约束的是高还是宽,然后受约束的一方根据不受约束的一方,按照比例计算自己的尺寸。...上述代码对宽度和高度都进行了约束,通过H,指定高度受约束,所以高度的尺寸会根据宽度大小按照比例得到,其效果如图所示: ?

    98340

    端开发技术——解密Flutter响应式布局

    它可以用于创建灵活的、响应性强的UI设计,以适应不同的屏幕大小和尺寸。它允许您根据与布局中其他视图的空间关系来指定每个视图的位置和大小。...但这并不能解决大型设备的问题,在大型设备中,拉伸或只是调整UI组件的大小并不是利用屏幕面积的最优雅的方式。在屏幕面积很小的智能手表,调整组件以适应屏幕大小可能会导致奇怪的UI。...在Android中,你可以为不同的屏幕大小定义不同的布局文件,Android框架会根据设备的屏幕大小自动处理这些布局之间的切换。...而LayoutBuilder可以确定特定小部件的最大宽度和高度。...首先,它尝试布局约束允许的最大宽度,并通过将给定的高宽比应用于宽度来决定高度。

    2.3K00

    Infer Constraints,Autoconnect,ConstraintLayout拖拽使用教程

    如果我们想使用更多的方式去调整 view 的大小,那么就需要使用 properties 面板了。 2、方式二:使用约束调整view的大小 使用约束调整view的大小时,只能实现填满约束的情况。...:当前宽度是0dp,宽度的具体尺寸以高度为基准 (2)、高度是0dp 在上图中,我们拖动一个 button 到编辑区,添加完约束,手动将宽度切换为 0dp(即 match_constraint) 。...在上图中,我们发现,而且properties面板中方形区域的垂直方向的两个小圆圈(把手)被直线连通了,表示:当前高度是0dp,高度的具体尺寸以宽度为基准。...如上图,当宽高都是0dp 的时候,我们点击空心三角启用ratio模式后,先采用的是 高度为0dp的模式(即,高度的具体值以宽度为基准);接着,我们再点击实心三角,此时会切换到 宽度为 0dp 的模式(即...,宽度的具体值以高度为基准);然后,我们再点实心三角,此时已经退出了比率模式,但是ratio和输入框还在,但是输入内容也不会起作用;然后,我们再点实心三角,完全退出比率模式,三角标消失。

    13710

    Android适配全面总结(一)----屏幕适配

    (6)独立比例像素(sp) 单位:sp Android开发时用sp设置文字大小,使用它可以根据文字大小首选项进行放缩。...(适用于Android 3.2及之后版本)   最小宽度限定符可让您通过指定某个最小宽度(以 dp 为单位)来定位屏幕。...根据屏幕方向进行布局的调整。   某些布局会同时支持横向模式和纵向模式,但我们可以通过调整优化其中大部分布局的效果。...图片资源适配 使得图片资源在不同屏幕密度上显示相同的像素效果。   在实际开发中一个按钮的背景图片必须能够随着按钮大小的改变而改变。...以某一分辨率为基准,生成所有分辨率对应像素数列表 现在我们以320x480的分辨率为基准: 将屏幕的宽度分为320份,取值为x1x320,将屏幕的高度分为480份,取值为y1y480 然后生成该分辨率对应像素数的列表

    2.2K40

    【Android从零单排系列三十四】《Android布局介绍——ConstraintLayout》

    这意味着你可以根据需要自由调整视图的位置,并确保在不同屏幕尺寸或设备方向下的正确布局。 性能优化:ConstraintLayout针对性能进行了优化,可以减少布局层次以及视图的嵌套。...你可以通过拖拽和调整视图的边界、连接线和约束条件来轻松创建和修改布局。 ConstraintLayout的工作原理是通过设置视图之间的宽度、高度和相对位置的约束条件来实现。...完善布局:根据设计需求,继续设置其他视图的约束条件,以达到期望的布局效果。可以使用app:layout_constraint...属性来设置各种约束条件,如边界对齐、居中对齐、权重比例等。...可以使用match_parent(填充父容器)或具体数值。 layout_height:设置视图的高度。可以使用match_parent(填充父容器)或具体数值。...你可以根据需要修改和扩展这个简单的案例,以满足实际的界面需求。 五 总结 ConstraintLayout的工作原理是通过设置视图之间的宽度、高度和相对位置的约束条件来实现。

    44620

    Flutter跨平台移动端开发丨Column、Row、Flex、Wrap、Flow、Stack

    max 表示最大宽度,min 表示最小宽度,也就是所有子 widget 的宽度之和 crossAxisAlignment:表示子 widgets 在纵轴方向的对齐方式,Column 的高度等于子 widgets...max 表示最大宽度,min 表示最小宽度,也就是所有子 widget 的宽度之和 crossAxisAlignment:表示子 widgets 在纵轴方向的对齐方式,row 的高度等于子 widgets...max 表示最大宽度,min 表示最小宽度,也就是所有子 widget 的宽度之和 crossAxisAlignment:表示子 widgets 在纵轴方向的对齐方式,flex 的高度等于子 widgets...根据父 widget 的四个顶点确定位置。...(类似于 Android 中的 id) alignment:如果子 widget 没有设置定位(无 positioned)或只指定了部分定位,则此参数为子 widget 的定位标准。

    2K30

    Android 自定义最大宽度,高度, 宽高比例 Layout

    既然如此,那么我们在继承 FrameLayout,重写它的 onMeasure 方法。在 onMeasure 方法中根据我们指定的最大宽度,高度和比例对 MeasureSpec 进行调整即可。...思路大概如下 没有设置最大宽度,高度,宽高比例,不需要调整,直接返回 先拿到原来的 mode 和 size,暂存起来 根据宽高的比例进行相应的调整 @Override protected void onMeasure...,我们首先对宽度进行调整,是否超出最大宽度,超出取最大宽度,没超出,取原来的值。...最后,根据相应的 size,mode 生成相应的 MeasureSpec 当模式已高度为基准的时候,我们首先对高度进行调整,是否超出最大高度,超出取最大高度,没超出,取原来的值。...最后,根据相应的 size,mode 生成相应的 MeasureSpec 当模式是默认,没有指定宽度或者高度作为基准的时候,直接判断宽高度是否超出最大的宽高度,制定相应的 MeasureSpec 即可。

    2.5K20

    细细品读!深入浅出,官方文档看ConstraintLayout

    继承关系 ConstraintLayout和其他布局一样,继承自ViewGroup,但是不同点在于它调整控件的位置和大小时更加得灵活,功能更加强大。...来主要看一下外边距的新属性:GONE MARGIN 以图 3为例,这里的gone margin指的是B向A添加约束后,如果A的可见性变为GONE,这时候B的外边距可以改变,也就是B的外边距根据A的可见性分为两种状态...="1:1" /> 上述代码中,按钮的高度满足受约束且设置为0dp的条件,所以其尺寸会按照比例随宽度调整。...W,或H,以确定受约束的是高还是宽,然后受约束的一方根据不受约束的一方,按照比例计算自己的尺寸。...,通过H,指定高度受约束,所以高度的尺寸会根据宽度大小按照比例得到,其效果如图所示: ?

    98830

    Web 技术:CSS最小和最大(宽度高度)知识点及优缺点

    比如说,我们有一个按钮,它的宽度应该是最小的,不应该低于它的宽度。这就是最大和最小属性变得方便的地方。...min-width 和 padding 在内容较长的情况下,min-width可以扩展按钮的宽度,而水平方向上的padding应该被添加,以实现一个合适的外观按钮。 ?...flex 项目的最小大小等于其内容的大小。 根据CSSWG: 默认情况下,flex项目不会缩小到它们的最小内容大小(最长单词或固定大小元素的长度)以下。...内容溢出的问题不仅在于内容是否大于固定的hero 高度。它可以发生在屏幕大小调整作为文本换行的结果。 ? 如果改用min-height,则上述情况根本不会发生。...最大宽度/高度和视口单位的流体比率 为了使比例容器能够根据视口大小进行响应缩放,引入了padding hack。 现在,我们可以通过组合CSS中的视口单位和最大宽度/高度来模仿相同的行为。 ?

    6.1K20

    一步一步,开始上手Mac 开发(三)

    好吧,让我们来动手改进这些问题~ 1  设置窗口的最小尺寸 1.1 先选中MasterViewController.xib,重新调整view 的尺寸和排列内部的各个控件,(以你喜欢的方式)让控件看起来更协调...,我们先来设置table view :当窗口高度增加的时候,我们希望table view的高度也随之增加,但当窗口宽度增加的时候,我们希望table view的宽度不变(固定宽度) 1.6 设置table...设置table view 的autosizing属性 设置完成后,运行应用,你会发现当我们改变窗口大小时,table view 的高度会随窗口变化,但宽度是固定不变的,这正是我们需要的效果 * 如果你发现...竖直线的autosizing设置 1.8 设置+按钮和-按钮:按钮大小不变,但位置始终位于窗口的底部(与窗口底部的距离固定) ?...image view 的autoresizing设置 运行工程,我们可以看到所有的控件都会在窗口大小改变的时候会相应的调整合适的尺寸或位置,这样看起来比我们之前没有设置窗口适配要美观一些了,当然,若是觉得窗口过大导致

    98020

    『安卓』安卓开发基础--基本控件

    ="2" //纵向布局只能分内部控件的高度,横向布局只能分内部控件的宽度。...//建议给要分比例的宽度或者高度写成0dp。 2. EditText 输入框,可编辑,可设置软键盘方式。继承自android.widget.TextView,在android.widget包中。.../按钮上显示的文字 android:text="theButton" //两种方式,直接具体文本或者引用values下面的string.xml里面的元素@string/button //按钮字体大小...,更多方法可以参考下Android的按钮单击事件及监听器的实现方式,跟JAVA JFrame监听类似。...//此外,可以具体设置高度和宽度显示的像素,不过这样设置如果图片尺寸大于设置的显示的尺寸,则图片是显示不全的,这是可以配合android:scaleType属性。

    7K20

    折叠屏上应用设计规范,了解一下?

    例如,几乎所有标准手机在竖屏模式下都采用了较小 (Compact) 宽度和中等 (Medium) 高度的组合,由于普遍使用垂直滚动,对大多数应用而言,根据宽度的尺寸类别进行适配就已足够。...△ 响应式界面可根据屏幕尺寸变化而调整内容布局 设想一下,当您调整浏览器窗口大小时,如果浏览器回退了一个页面,或者重定向到另一个页面,又或者修改了历史记录,这种体验非常奇怪。...遵循 Material 指南,我们可以根据宽度的尺寸类别提供替代布局,将导航调整到最方便使用的位置。例如,小屏幕采用底部导航视图,中等屏幕采用 Navigation rail,大屏幕采用完整导航视图。...当然我们有很多方法可以实现这一点,但 ConstraintLayout 的灵活性最大,因为它提供了很多种方式来约束子元素的尺寸,以及相对于其他子元素的位置。...适配可折叠设备 可折叠设备不仅配备了更大的屏幕,它们还可以根据设备的折叠方式和用户的使用方式调整设备的方向/姿势。 目前有三种常见的设备形态: 折叠、未折叠和桌面模式 (悬停)。

    4.5K20

    终于等到你,新的虚拟键盘API 即将到来,快来先睹为快吧!

    浏览器支持 在撰写本文时,VirtualKeyboard API仅在Chrome for Android中受支持。在下一部分中,我将探讨一些例子和使用情况,以展示它的帮助性。...,可以帮助改变调整大小的行为。...为桌面使用不同的值 假设我们想在桌面浏览器上进一步调整浮动按钮的位置,我们该如何做呢?嗯,我考虑使用 max() 比较函数,结果行得通。...请观看以下视频以了解问题的感觉: 使用虚拟键盘 API 的比较函数 根据虚拟键盘的可见性来改变按钮的形态 这可能是一个无用的用例或示例,但当一个功能被充分利用时,看到发生的事情是很有趣的。...底部的值将是 1rem 或键盘的高度。 在桌面尺寸上,宽度等于变量 --size ,而在移动设备上,它将占据整个宽度,因此使用了 env(keyboard-inset-width, 0) 。

    37020
    领券