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

原创|Android Jetpack Compose 最全上手指南

如果你已经打开了Android Studio 项目,则在顶部菜单栏选择File > New > New Project 2....使用Column 要使重叠绘制的Text文本能够垂直排列,我们就需要使用到Column函数,写过flutter的同学看起来是不是很眼熟?...Text("Android技术杂货铺") Text("依然范特西") } } 效果如下: 可以看到,前面重叠的布局,现在已经垂直排列了,但是,默认情况下,从左上角开始,一个接一个的排列...modifier:使你可以进行其他格式更改。在这种情况下,我们将应用一个Spacing修改器,该设置将Cloumn与周围的视图产生间距。 4. 如何显示一张图片?...图片已添加到布局中,但会展开以填充整个视图,并和文本是拼叠排列,文字显示在上层。

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

Android开发笔记(一百二十二)循环器视图RecyclerView

RecyclerView RecyclerView是Android在support-v7库中新推出控件,中文别名为循环器视图,它的功能非常强大,可分别实现ListView、GridView,以及瀑布流网格的显示效果...onCreateViewHolder : 创建整个布局的视图持有者。输入参数中包括视图类型,可根据视图类型加载不同的布局,从而实现带头部的列表布局。...notifyItemChanged : 通知适配器在指定位置的项目发生了变化。 notifyDataSetChanged : 通知适配器整个列表的数据发生了变化。...,如有不太清楚的,可参考《Android开发笔记(二十二)瀑布流网格》。...默认false,如果设置为true,那么垂直方向将从下往上开始布局,水平方向将从右往左开始布局。 下面是瀑布流网格布局的效果截图: ?

2.3K20

从零开始的Android:常见的UI设计模式

尽管Android允许您创建几乎任何可能需要的自定义视图或用户界面,但事实证明,在正确的情况下,有一些用户界面模式可以很好地适用于用户。...顾名思义,您以列表格式显示数据,当单击该列表中的项目时,它将打开一个显示更多详细信息的新屏幕。 尽管此模式称为列表和详细信息,但没有理由也不能将相同的逻辑应用于网格设计。...此模式的关键特征是,列表/网格中的每个项目在被选中时都应执行显示更多详细信息的相同操作。...当您的应用程序中只有几个部分时,此模式很有用,因为它为用户提供了一种快速简便的方法来更改视图。 但是,如果要在选项卡中放入五个或更多项目,则应考虑将导航操作移到抽屉中。...根据Android的材料设计指南,选项卡也可以存在于屏幕底部,如Google+应用程序所示。 导航抽屉 导航抽屉是一个视图,可以从应用程序的侧面滑出,以便向用户显示选项列表。

2.6K20

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

△ Fortnightly 遵循指南对内容进行分隔和分组 网格系统 现在,许多应用将屏幕视作一个大画布或单栏,以水平和垂直的方式按相互关系绘制元素,有些应用也会在一侧整体留出边距。...△ 使用栏式网格在不同屏幕尺寸中对内容进行重排 记住网格系统有助于您选择组件行为,在不同的布局中,以对设备尺寸和场景最有意义的方式决定替换还是更改组件。...第一种是列表/详情,或列表网格视图的简单组合,同时在开始展示内容的屏幕起始侧,设置/不设置导航容器。 △ 列表/详情布局 支持面板可用于人们需要集中精力的体验中,例如文档。...的 Kotlin 流中接收到该项目,然后更新详情窗格的内容,并通过调用 openPane 将其滑入视图。...△ 通过更换 RecyclerView 的 LayoutManager 来改变其展现形式 主页横幅 我们还可以改变单项布局,使某些项比其他项更高或更宽,以此凸显其重要性,打造更有趣的视觉效果。

4.3K20

使用 SwiftUI 的 Eager Grids

介绍 早在 2020 年,我们就拥有了在 SwiftUI(LazyVGrid 和 LazyHGrid)中绘制网格的新视图控件。两年后,我们又获得了另一种在网格(Grid)中显示视图视图控件。...请注意,在这种情况下,对齐方式只是垂直的。此行中的单元格将结合 Grid 参数和 GridRow 参数。行的垂直对齐将优先于对齐的网格垂直组件。...例如,您可以使用 Divider() 视图,或者更复杂的视图,如下例所示。请注意,我们通常不希望分隔线使网格增长到最大值,因此我们使视图在水平轴上未调整大小。...偏移量是六边形宽度的一半 + 网格水平间距。第 5 步:行需要重叠,因此您需要将行高减少到四分之三 (3/4)。为什么是 3/4?,再次检查 Impossible Grids,我解释了原因。...第 6 步:要删除空白区域,请剪裁网格边框(或将其放在 ScrollView 中,它会为您进行剪裁)。步骤#7:如果使垂直间距等于水平间距,则单元格将均匀分布。 初始点 为了让你开始,这里有一些代码。

4.3K20

Material Design —卡片(Cards)

支持的手势 滑动(swipe) 拾取并移动(Pick-up-and-move) 相关组件 网格列表(Grid lists) 对于开发者 Android卡片 聚合卡片(Polymer cards) ---...左:网格tile以干净轻量方式展示图片库    右:卡片不适合展示同类内容 ---- 内容 卡片为联系更紧密的信息和视图提供上下文和入口点,其内容和数量可能会有很大差异。...限制视图内的轻扫手势,使其不会彼此重叠。例如,可滑动的卡片不应该包含可滑动的图像,以便在滑动时只发生一次动作。...集合中的第一个项目位于左上角 顺序从左到右,从上到下进行 ? 从左到右,从上到下 滚动 卡片集合只能垂直滚动。 超过最大卡片高度的卡片内容会被省略,内部不会滚动,但可以扩展卡片。...对于依赖焦点遍历进行导航(手柄和键盘)的页面,卡片应具有主要操作或打开包含主要和补充操作的新视图。 ? 选择操作 ?

4.3K100

Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件

用户界面布局 在你APP软件上的,用户界面上显示的每一个组件都是使用层次结构View和ViewGroup对象来构成的,比如,每个ViewGroup都是不可见容器,每个ViewGroup视图组用于组织子视图...相对布局 FrameLayout帧布局 AbsoluteLayout绝对布局 TableLayout表格布局 GridLayout网格布局 描述一下几个重要的 线性布局: 指子控件以水平或垂直方式排列...,可以在一个方向垂直或者水平分布所有子项,用android:orientation属性。...相对布局 RelativeLayout是一个相对布局的视图组,用来显示相对位置的子视图类,在默认情况下,所有子视图对会分布在左上角。..." android:text="正确" /> GridView网格布局 GridView其实是一个网格一样的视图组件,是一个ViewGroup的二维视图

1.7K20

Android开发笔记(三十八)列表类视图

lv_hello.setOnItemClickListener(titleAdapter); lv_hello.setOnItemLongClickListener(titleAdapter); GridView GridView是网格视图...verticalSpacing : 指定子视图垂直方向的间距。 columnWidth : 指定每列的宽度。 numColumns : 指定列的数目。...listSelector : 指定点击网格时的显示背景。 代码中的方法: setHorizontalSpacing : 设置子视图在水平方向的间距。...setVerticalSpacing : 设置子视图垂直方向的间距。 setColumnWidth : 设置每列的宽度。 setNumColumns : 设置列的数目。...具体的说,就是给GridView设置整个网格的背景色(例如黑色),以及网格之间的水平间距和垂直间距;然后给每项网格的根布局设置背景色(例如白色),这样只有网格间距是黑色,从而间接画上了黑色表格线。

2.3K20

HarmonyOS学习路之开发篇—Java UI框架(六大布局开发)

熟悉Android开发的小伙伴可以参照Android的布局开发来学习。...二、布局开发 ① DirectionalLayout 对应 LinearLayout 在此布局中可以对布局中的所有组件进行横向或纵向排列,并且使组件与组件之间进行对齐。...,而它会把这些视图默认放到这块区域的左上角,第一个添加到布局中的视图显示在最底层,最后一个被放在最顶层。...上一层的视图会覆盖下一层的视图。 自有XML属性: 属性名称 属性描述 使用案例 layout_alignment 对齐方式 可以设置取值项如表中所列,也可以使用“|”进行多项组合。...(0, 0)为左上角;当向下或向右移动时,坐标值变大;允许组件之间互相重叠。 布局方式 PositionLayout以坐标的形式控制组件的显示位置,允许组件相互重叠

1.4K10

Android精通:布局篇

表格布局 GridLayout网格布局 TableLayout表格布局 TableLayout的介绍 TableLayout是将子类向分别排列成行和列的布局视图容器,TableLayout是由许多TableRow...GridLayout网格布局 GridLayout网格布局是在Android 4.0以后引入的一种新的布局模式,和表格布局是有点类似的,但比表格布局的好,功能也是很强大的,它可以设置布局有多少行和有多少列...RelativeLayout相对布局 RelativeLayout是一个相对布局的视图组,用来显示相对位置的子视图类,在默认情况下,所有子视图对会分布在左上角。... 为和父容器右端的距离,单位为dp android:layout_margin为和父容器四周的距离,单位为dp android:layout_centerVertical 为在父类的垂直居中,为true...结论 线性布局: 指子控件以水平或垂直方式排列。

2K40

Android之布局详解

android:scrollbarAlwaysDrawVerticalTrack 设置垂直滚动条是否含有轨道 android:nextFocusLeft 设置左边指定视图获得下一个焦点 android...:nextFocusRight 设置右边指定视图获得下一个焦点 android:nextFocusUp 设置上边指定视图获得下一个焦点 android:nextFocusDown 设置下边指定视图获得下一个焦点...但却不像我们后面会讲到的Android 4.0后引入的GridLayout(网格)布局一样,直接就可以设置多少行与多少列!...绝对布局AbsoluteLayout(不常用想学的可以看这篇) 网格布局GridLayout 属性 作用 android:columnCount 最大列数 android:rowCount 最大行数 android...android:columnOrderPreserved 使列边界显示的顺序和列索引的顺序相同,默认是true android:rowOrderPreserved 使行边界显示的顺序和行索引的顺序相同,

1.9K10

CSS中的各种格式化上下文-FC(BFC、IFC、GFC、FFC)

BFC的约束规则内部的BOX会在垂直方向上一个接一个的放置;垂直方向上的距离由margin决定。(完整的说法是:属于同一个BFC的俩个相邻的BOX的margin会发生重叠,与方向无关。)...垂直居中:创建一个IFC,用其中一个元素撑开父元素的高度,然后设置其vertical-align:middle,其他行内元素则可以在此父元素下垂直居中。...,我们可以通过在网格容器(grid container)上定义网格定义行(grid definition rows)和网格定义列(grid definition columns)属性各在网格项目(grid...item)上定义网格行(grid row)和网格列(grid columns)为每一个网格项目(grid item)定义位置和空间。...伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。伸缩容器外和伸缩项目内的一切元素都不受影响。简单地说,Flexbox 定义了伸缩容器内伸缩项目该如何布局。

1.6K10

Android界面性能优化必读

市面上绝大多数Android设备的屏幕刷新频率是 60 HZ。当然,超过 60 Fps 是没有意义的,人眼感知不到区别。...1.6 垂直同步 垂直同步是 Android4.1 通过 Project Butter 在 UI 架构中引入的新技术,同期引入的还有 Triple Buffer 和 HWComposer 等技术,都是为提高...2.2.2 Lint Lint 是 ADT 自带的静态代码扫描工具,可以给 XML 布局文件和 项目代码中不合理的或存在风险的模块提出改善性建议。...应用所有界面以及分支界面均不存在超过4X过度绘制(深红色区域); 应用所有界面以及分支界面下,3X过度绘制总面积(浅红色区域)不超过屏幕可视区域的1/4; 3.3 过度绘制的根源 过度绘制很大程度上来自于视图相互重叠的问题...,其次还有不必要的背景重叠

4.5K10

Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局

表格布局 GridLayout网格布局 ---- TableLayout表格布局 TableLayout表格布局.png TableLayout的介绍 TableLayout是将子类向分别排列成行和列的布局视图容器...GridLayout网格布局 GridLayout网格布局是在Android 4.0以后引入的一种新的布局模式,和表格布局是有点类似的,但比表格布局的好,功能也是很强大的,它可以设置布局有多少行和有多少列...android:rowCount为可以设置行数,要多少行设置多少行,如android:rowCount="2"为设置网格布局有2行。...RelativeLayout相对布局 RelativeLayout是一个相对布局的视图组,用来显示相对位置的子视图类,在默认情况下,所有子视图对会分布在左上角。...为在父类的水平垂直居中 结论 线性布局: 指子控件以水平或垂直方式排列。

3.7K20

ECCV2020 | Gen-LaneNet:百度Apollo提出两阶段的3D车道线检测算法,已开源

将anchor点表示与基础俯视图特征对齐对于使方法可推广到未观察到的场景至关重要。...该方法适用于“鸟瞰视角(Bird Eye View)”透视图,该视图被栅格化为粗网格。输出所有网格的参数化3-D曲线表示,然后处理形成整个3-D车道曲线以及检测的不确定性估计。 ?...相邻的网格将具有重叠的感受野并产生相关结果,但是没有捕获多个网格表示的是同一车道的事实。为了生成完整的车道曲线,文中学习了每个网格的嵌入,其沿着车道满足全局一致性。...最终BEV特征图在空间上分为由W×H个非重叠网格组成的网格G。与以前方法相似,投影可确保BEV特征图中的每个像素对应于预定义的道路位置,与摄像机的内参数和外部姿态无关。...与3D-LaneNet类似,Anchor representation使网络可以直接预测多线形式的3D车道线。

2K30

Android从零单排系列二十】《Android视图控件——ListView》

前言 小伙伴们,在上文中我们介绍了Android视图组件CheckBox,本文我们继续盘点,介绍一下视图控件的ListView。...一 ListView基本介绍 ListView是Android开发中常用的列表视图控件,用于展示垂直滚动的可变长度的数据列表。...推荐在新项目中使用RecyclerView,它提供了更多的定制选项和优化功能。...它提供了更强大和灵活的功能,例如支持横向滚动、网格布局、瀑布流布局等。使用RecyclerView需要自定义适配器和ViewHolder,但它具有更好的性能和可扩展性。...五 总结 istView是Android开发中常用的列表视图控件,用于展示大量数据并实现用户的垂直滚动浏览。通过适配器和点击事件监听器的配合,ListView可以灵活地展示、交互和处理列表数据。

37310
领券