首页
学习
活动
专区
圈层
工具
发布

跟我学Android之三 常用视图

目标 掌握视图的概念。 明白Activity与Widget的区别。 掌握XML方式布局界面的特点和一些基本特性。 掌握几种常见基本视图的用法 学会使用代码方式进行界面布局的方法。...如下图: 视图(View)是可视化的界面元素,视图对象可以单个组件或者很多组件的组合,可以通过XML来创建视图对象。...每一个视图都需要定义android:layout_width和android:layout_height,其值可以有如下几种情况,可以指定确切的大小: wrap_content:表示有视图的内容决定大小...marginLeft、marginRight、marginTop、marginBottom 视图与Widget(微件)的区别是:View是可视化的组件元素,Widget其实是一个迷你的Application...,View可以存在于Widget中,View可以认为是界面的更加基本的元素。

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

    Floating Action Button-Android M新控件

    因为一个浮动在UI之上的圆形图标而显得格外突出,同时它还具有特殊的手势行为” 比如,如果我们在使用email app,在列出收件箱邮件列表的时候,promoted操作可能就是新建一封邮件。 ? ?...浮动操作按钮代表一个屏幕之内最基本的额操作。关于FAB按钮的更多信息和使用案例请参考谷歌的官方设计规范。 运行效果 ?...实际上只需要指定一个布局文件,就可以看到效果了,只不过是这时候的FAB是固定在屏幕指定位置的,而无法随之滚动,不着急,下面会介绍如何设置成可滚动的FAB 属性介绍 FAB 默认使用应用主题中设置的浮起色作为按键背景...app:fabSize 属性选择普通大小或者迷你大小; 使用 android:src 改变 FAB 对应的 drawable; 使用 app:rippleColor 设置 FAB 按下时的波纹效果;...调整按钮类型 浮动操作按钮有两种大小:默认的,这应该是最常用的情况,以及mini的,这应该只用于衔接屏幕上的其他元素。 可以把FAB的按钮类型调整为“正常”或者“mini” ...

    2K40

    flutter系列之:UI layout简介

    在flutter中,基本上所有的对象都是widget,对于layout来说也不例外。也就是说在flutter中layout也是用代码来完成的,这和其他的用配置文件来描述layout的语言有所不同。...你可以把layout看做是一种看不见的widget,这些看不见的widget是用来作用在可见的widget对象上,给他们实施一些限制。...Wrap — 可以对子child进行动态调整的widget。可滑动的Sliver widgets有下面几种:CupertinoSliverNavigationBar — 是一种IOS风格的导航bar。...SliverPersistentHeader — 可变size的sliver。SliverToBoxAdapter — 包含单个box widget的Sliver。...:Spacer和SizedBox都可以生成空白,不同的是Spacer可以和flex一起使用,而SizedBox必须固定size大小。

    1.4K10

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

    一 ListView基本介绍 ListView是Android开发中常用的列表视图控件,用于展示垂直滚动的可变长度的数据列表。...功能:ListView可以在有限的屏幕空间内显示大量的数据,并支持用户滚动浏览。它提供了一个可滚动的列表容器,可以逐项地展示数据元素。...android:layout_width:指定ListView的宽度,可以使用具体数值(如"match_parent"、"wrap_content")或者具体数值。...使用RecyclerView需要自定义适配器和ViewHolder,但它具有更好的性能和可扩展性。...CursorAdapter:CursorAdapter适用于使用数据库查询结果作为数据源的情况。它将数据库查询的结果封装为Cursor对象,并将数据与ListView绑定。

    2.9K10

    Android--AppBarLayout基本使用

    AppBarLayout一般用于赋予Toolbar(不限于Toolbar)滚动行为,AppBarLayout是一个垂直的LinearLayout,实现了Material Design中app bar的scrolling...AppBarLayout的子View应该声明想要具有的“滚动行为”,这可以通过layout_scrollFlags属性或是setScrollFlags()方法来指定。...AppBarLayout只有作为CoordinatorLayout的直接子View时才能正常工作,为了让AppBarLayout能够知道何时滚动其子View, 我们还应该在CoordinatorLayout...> widget.FloatingActionButton android:layout_width="wrap_content...> layout_scrollFlags拥有6种模式 1.scroll--最基础的模式,并且设置其他模式必须|上它,否则不起效果 如果滚动到顶部再往上滑动的话,则显示Toolbar,只要往下滑动,则Toolbar

    3.8K20

    Flutter 视图布局-前言

    在一定程度上在视图结构和逻辑的关联性是强了,但在直观布局结构方面却弱了,所以就导致在代码中会发现嵌套层次很多很深,同事也会对开发者的能力有了一些要求,当然如果有面向对象编程的经验的话,那么就上手来说问题并不大...ListBody 一个 Widget,它沿着一个给定的轴,顺序排列它的子元素。 ListView 可滚动的列表控件。...ListView 是最常用的滚动 Widget,它在滚动方向上一个接一个地显示它的子元素。在纵轴上,子元素们被要求填充ListView。 Table 为其子元素使用表格布局算法的 Widget。...ConstrainedBox 对其子项施加附加约束的 Widget。 FittedBox 按自己的大小调整其子元素的大小和位置。 LimitedBox 一个当其自身不受约束时才限制其大小的盒子。...OverflowBox 对其子项施加不同约束的 Widget,它可能允许子项溢出父级。 SizedBox 一个特定大小的盒子。这个 Widget 强制它的孩子有一个特定的宽度和高度。

    2.9K110

    Android网格视图(GridView)

    =”90dp "       //每列的宽度,也就是Item的宽度 3.android:stretchMode=”columnWidth"//缩放与列宽大小同步 4.android:verticalSpacing...="none"                   //隐藏GridView的滚动条 9.android:fadeScrollbars="true"             //设置为true就可以实现滚动条的自动隐藏和显示..."       //设置为true时,你做好的列表就会显示你列表的最下面 14.android:transcriptMode="alwaysScroll" //当你动态添加数据时,列表将自动往下滚动最新的条目可以自动滚动到可视范围内...,通常的原因就是我们加载的图片太大,我看了一下我的图片,用500W像素的Defy拍的,原始大小一般都在800KB左右,这样大的图片才导致了内存泄露,网上大神们给的通常的解决方法是,用BitmapFactory...我此处用到的图片都是80KB以上的,存在drawable文件夹中,直接用R.drawable.来调用,没用到Bitmap ,因此只能缩小图片大小。

    2.1K80

    Material Design 实战 之第四弹 —— 卡片布局

    卡片式布局也是MaterialsDesign中提出的一个新的概念,它可以让页面中的元素看起来就像在卡片中一样,并且还能拥有圆角和投影,下面我们就开始具体学习一下。...CardView(这里用于作为recycleview的子项,用于显示水果) 1.1 实际上,CardView也是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体的感觉...实际上,CardView也是一个FrameLayout,只是额外提供了圆角和阴影等效果,看上去会有立体的感觉。...MainActivity extends AppCompatActivity { private DrawerLayout mDrawerLayout; //增加RecycleView后的数据和对象初始化...又会根据当前滚动的距离情况,做出消失或者重新出现的反应; 这其实也是MaterialDesign中的一项重要设计思想,因为当用户在向上滚动RecyclerView的时候,其注意力肯定是在RecyclerView

    3.1K10

    Android:流式布局实现总结

    官方为我们封装好的一套流式标签组件.ChipGroup 本质上也是自定义的ViewGroup,其中为我们封装了部分条目点击和选中的监听器。...通常情况下,与ChipGroup配套使用的是Chip——也就是ChipGroup中的条目。Chip本身具有选中和点击状态,也可以加入图片,可以修改文本(颜色、字号、字体等)。...关于Chip和ChipGroup的使用,可以参考我之前整理的《Android:Chip、ChipGroups、ChipDrawable》链接为: https://www.jianshu.com/p/d64a75ec7c74...但是在构建对象时必须指定行或者列,这样就导致内容超过屏幕宽度或者高度时,并不会主动换行——而是优先适配行数或列数,然后滚动显示。...) //CnPeng 2018/12/7 4:46 PM 注意这个接口匿名对象的构建方式,前面加了个 object: gridLayoutManager.spanSizeLookup = object

    7.2K20

    Recyclerview竟能如此丝滑,这14个优化策略不容错过...

    布局优化 减少布局嵌套 避免在RecyclerView的Item布局中使用过多的嵌套布局和复杂的层次结构,这会增加渲染的时间和消耗。...(size)方法来设置缓存大小,可以控制RecyclerView中缓存ViewHolder的数量,避免过多的缓存占用过多内存。...recyclerView.setItemViewCacheSize(20) // 设置缓存大小为20 共享事件 例如点击事件,可以创建一个共用的监听器对象,并将其设置给所有的ItemView。...然后根据ID来区分执行不同的操作。从而避免了对每个Item都创建监听器对象,优化了资源消耗。...在实际开发中,还需要根据具体情况选择合适的优化策略,并进行适当的测试和调整,以达到最佳的性能效果。

    3.2K10

    细说 AppbarLayout,如何理解可折叠 Toolbar 的定制

    当然不是,在 CoordinatorLayout 中嵌套滑动的本质是一个 NestedScrollingChild 对象。...enter 和 exit 的概念 这两个直译为中文就是进入和离开。这里的主语是 AppBarLayout 中的内容,宾语是 CoordinatorLayout。 ?...也就是说 snap 代表一种吸附的行为,当一个滑动事件结束后,Toolbar 会向最接近它的边缘自行滚动。那什么是最近的概念呢?比如向上滑动时,如果滑过了一半它就向上滚动,否则滚动回原来的地方。...可以看到,Collapsing title 的概念其实就是 Title 在大小与位置会变化。 我们再做少许变动。...就是滚动的速度不同,造成的视觉差异效果。也就是说 CollapsingToolbarLayout 中有的 view 滚动的快一些,其它的滚动的慢一些。

    3.9K30

    CoordinatorLayout使用全解析

    ,这些控件都和CoordinatorLayout配合出各种效果,接下来我们就先简单介绍一下这些控件。...exitUntilCollapsed:当你定义了一个minHeight,此布局将在滚动到达这个最小高度的时候折叠。 snap:当一个滚动事件结束,如果视图是部分可见的,那么它将被滚动到收缩或展开。...NestedScrollView 在新版的support-v4兼容包里面有一个NestedScrollView控件,这个控件其实和普通的ScrollView并没有多大的区别,这个控件其实是Meterial...support library包含了一个特殊的字符串资源@string/appbar_scrolling_view_behavior,它和AppBarLayout.ScrollingViewBehavior...相匹配,用来通知AppBarLayout 这个特殊的view何时发生了滚动事件,这个behavior需要设置在触发事件(滚动)的view之上。

    3.1K20

    【Android开发基础系列】Layout布局专题

    android.view.ViewGroup 扩展了 android.view.View,它本身也具有 View 的特性,区别仅在于它可以包含其他的控件。        ...以TextView和ImageView控件为例,设置为wrap_content将完整显示其内部的文本和图像。布局元素将根据内容更改大小。...TableLayout表格布局 表格布局 1.2.6 TabLayout标签布局     TabLayout属性说明:         app:tabIndicatorColor :下方滚动的下划线颜色...效果: 代码: 1.3 Widget         App Widget是应用程序窗口小部件(Widget)是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。...2 参考链接 android布局--Android fill_parent、wrap_content和match_parent的区别 http://www.cnblogs.com/nikyxxx/archive

    1.6K20
    领券