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

Android开发笔记(一百二十四)自定义相册

setAdapter : 设置图像视图的适配器。 getSelectedItemId : 获取当前选中的图像id。0表示第一个图像。 setSelection : 设置当前选中第几个图像。...ImageSwitcher实质是个视图动画师ViewAnimator,用于处理前后图像的变换动画;与之对应的是,TextSwitcher用于处理前后文本的变换动画;另外ViewFlipper也是从ViewAnimator...setImageDrawable : 设置当前图像的Drawable对象。 setImageURI : 设置当前图像的URI地址。 setInAnimation : 设置当前图像的进入动画。...setOutAnimation : 设置前一个图像的退出动画。 按照ImageSwitcher的上述方法,我们便能实现前后两个图像的切换动画(如淡入淡出动画)。...该控件的实现原理并不复杂,事实上早期便有许多人自己写了类似卡片效果的控件,只不过后来Android顺应民意推出了原生的卡片视图。

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

    Android5.0和6.0之后新增的控件说明

    下面是新增控件的索引表格: 兼容包 名称 控件 引入版本 内核 水波图形 RippleDrawable Android 5.0 矢量图形 VectorDrawable Android 5.0 矢量动画...AnimatedVectorDrawable Android 5.0 矢量动画监听器 AnimationCallback Android 6.0 媒体投影管理器 MediaProjectionManager...NestedScrollView Android 5.0 appcompat-v7 工具栏 Toolbar Android 5.0 recyclerview-v7 循环视图 RecyclerView Android 5.0 线性布局管理器...Android 5.0 cardview-v7 卡片视图 CardView Android 5.0 palette-v7 调色板 Palette Android 5.0 design 提示条 Snackbar...v4库默认会被编译进App的安装包,所以它不需要系统内核支持,可直接运行在4.0之后的所有系统上,并且App工程无需手工导入v4库。

    1.3K20

    项目需求讨论 — 用Transition做一个漂亮的登录界面

    新的Lollipop api更进了一步,让单独的view也可以在进入或者退出其布局容器中时发生动画效果,甚至还可以在不同的activity/Fragment中共享一个view。...其他参考文章: 曲线运动-1 曲线运动 - 2 第三步fab按钮动画结束后出现注册界面: 我们上一步对fab按钮设置了过渡的动画。...Activity的布局变成了这样: ?...这里我们可以直接在上面fab按钮动画结束的时候,直接让注册界面出现(因为这个注册界面是用CardView写的,所以这里直接用cardView来指这个实例),我们可以在上面的结束监听里面直接设置: @Override...所以我们在fab按钮过渡动画结束后,不是简单的对cardView设置View.VISIBLE就可以。

    1.8K20

    Android Material Design系列之RecyclerView和CardView

    ItemAnimator:ItemAnimator简单来说是会根据适配器上收到的相关通知去动画的显示组件的修改,添加和删除等。它会自动添加和移除item的动画。自带的默认效果也不错,已经非常好了。...因为我看市面上目前大部分的app都是这样做的,下拉刷新用SwipeRefreshLayout的效果,自己在RecyclerView上添加上拉更多。...) 看到viewType了吧,就是在这里处理多种布局效果,上拉更多的布局和其他item其实没有什么区别。...CardView CardView介绍 CardView是Android5.0之后为新增的控件,CardView是一个卡片布局,布局可以包含圆角和阴影,本质上CardView是一个FrameLayout...CardView属性 CardView中常用的属性有: cardElevation:设置阴影的大小 cardBackgroundColor:卡片布局的背景颜色 cardCornerRadius:卡片布局的圆角的大小

    2.1K80

    鸿蒙应用开发-初见:ArkUI

    ,子视图上报给父视图自身大小的值是指 组件内容区的大小ArkUI中常用布局容器如何选择使用哪种布局线性布局(Row/Column)线性布局的子元素在线性方向上(水平方向和垂直方向)依次排列线性布局容器包括...Column容器内子元素按照垂直方向排列,Row容器内子元素按照水平方向排列主轴线性布局容器在布局方向上的轴线,子元素默认沿主轴排列。Row容器主轴为横向,Column容器主轴为纵向。...通过justifyContent属性设置子元素在容器主轴上的排列方式默认相邻子元素是紧贴着的,也可以通过space设置子元素间的间距Column容器内子元素在主轴上的排列主轴方向:垂直向下Column(...,子元素可以叠加,也可以通过zIndex设置位置可以通过 alignContent参数 实现位置的相对移动Stack({ alignContent: Alignment.BottomStart })弹性布局...,覆盖Flex布局容器中alignItems配置相对布局(RelativeContainer)相对布局可以让子元素指定兄弟元素或父容器作为锚点,基于锚点做位置布局必须为RelativeContainer

    27810

    Floating Action Button-Android M新控件

    因为一个浮动在UI之上的圆形图标而显得格外突出,同时它还具有特殊的手势行为” 比如,如果我们在使用email app,在列出收件箱邮件列表的时候,promoted操作可能就是新建一封邮件。 ? ?...建议在手机上下方的margin设置为16dp而平板上设置为24dp。上面的例子中,使用的是16dp。 而根据谷歌的设计规范,drawable的尺寸应该是24dp。 ?...实际上只需要指定一个布局文件,就可以看到效果了,只不过是这时候的FAB是固定在屏幕指定位置的,而无法随之滚动,不着急,下面会介绍如何设置成可滚动的FAB 属性介绍 FAB 默认使用应用主题中设置的浮起色作为按键背景...---- 浮动操作按钮的动画 官方效果图 ?...R.layout.activity_fab_animation); recyclerView = (RecyclerView) findViewById(R.id.rvToDoList); // 线性布局

    1.5K40

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

    来瓶哇哈哈,精神抖擞来一波~ 简单回顾 Material Design,是谷歌在14年的IO大会上提出的一种新的理念,也被称为新的设计语言(也被称为“原材料设计”),称它为设计语言不为过,但是实际上,这仅仅是谷歌提倡的一种新的设计风格...创建一个菜单资源 ,最多5个导航目标(BottomNavigationView不支持超过5个项目); 在内容下面放置BottomNavigationView; 将BottomNavigationView上的...下面着撸起实现: Step 1:搞个布局玩玩 外层使用CoordinatorLayout包裹,底部导航栏采用BottomNavigationView,中间内容区域,很Easy咯~ <?...float v) {                // 这里是拖拽中的回调,根据slideOffset可以做一些动画            }        });    }    public...这里再次简单描述相关细节: Bottom Sheets具有五种状态: STATE_COLLAPSED: Bottom Sheets是可见的,但只显示可视(部分)高度。

    3K20

    Material Design 在 Android 中的应用

    从MD上截取的动画作为入口,大概讲解一下MD的基础概念和特点。 3、特点 ? 这里抽取了四个点:Material、Elevation、Color和Animation进行分析。...5、动画效果 说起动画,为了能够模仿MD的交互,也是现学现卖了一把。 ? 其实就是背景的放大效果,再加上文字的位移效果。...headerLayout: 设置其头布局 menu: 设置菜单布局 详细使用请看我之前写的一篇博客:高大上的DrawerLayout 4、Toolbar 整体的架构搭建好了,剩下就是开始每个模块的内容了...6、CardView 列表结构写好了,里面内容得优化吧,CardView自带圆角和阴影效果,让每个Item看起来就非常的自然,正如其名像卡片一样,也符合了Material Design特点。...Android 5.0提供了强大的转场动画,给每个item赋予了生命,跳转时,仿佛每块布局都参与了这次搬迁大运动。

    1.3K20

    CardView 简介和使用

    CardView 简介 CardView 是 Google 官方发布 MD 风格卡片布局控件,开发者可以很方便的使用它将布局做成卡片效果。...在使用 CardView 之前,多少应该对它有一定的了解,下面将对其实现做简单的介绍。 自定义属性 CardView 继承自 FrameLayout,并在其基础上添加了圆角和阴影等效果。...设置z轴最大高度值 CardView_cardUseCompatPadding       是否使用CompadPadding 设置内边距,V21+的版本和之前的版本具有一样的计算方式。...实际使用中我们发现,即便一个APP内部的多个CardView也能有不同的表现,更不用说整个系统上的所有APP了,那这又是怎么做到的呢?...如果已有现成的布局,想再引入卡片效果,也只需要在已有布局最外层添加 CardView 即可。

    1.3K10

    一文彻底搞清楚 Material Design

    这个时候肯定会有层次感,B 相对于桌面的海拔高度和 A 相对于桌面的海拔高度肯定是不一样的。在 Android 中就用 Z 来代表控件的海拔高度。...实际上 Elevation 并没有变化,而是 Translation Z 属性在变化。这是 Android 使用默认的状态列表动画,更改 Z 属性。...海拔高度是两个表面在 Z 轴上的距离,单位也是使用的 dp,一个子元素的海拔是相对于父元素而言的。 海拔高度分为:静止状态海拔高度和动态海拔高度偏移。...比如:电视具有比桌面更大的深度,因为屏幕更大,用户观看的距离更远。同样电视和桌面的深度比移动设备更深。...某些类型的组件具有响应式的海拔高度,会根据用户的输入(例如 正常状态、获取焦点、按下)和系统事件来改变自身的海拔。这些海拔高度的改变通常是通过动态海拔高度偏移来实现的。

    3.3K10

    Android5.0新特性-Material Design

    材料设计概述 材料的形态模拟 Google通过模拟自然界纸墨的形态变化、光线与阴影、纸与纸之间的控件层级关系,带来一种真实的空间感 更加真实的动画 Android5.x大量加入了各种新的动画效果,让整个设计风格更加自然和谐...让视图产生阴影 使用RecyclerView和CardView 定制动画 intel x86模拟器 下载和安装intel x86模拟器加速器 之前的ARM模拟器,是以软件的形式模拟,所以很慢~x86可以选这使用宿主机器的...其中 elevation是静态的成员,translationZ可以在代码中使用来实现动画的效果。...Z = elevation + translationZ 通过布局文件和Java代码设置视图的阴影 通过布局文件设置 在xml中设置View的视图高度 android:elevation="Xxdp"..." android:elevation="10dp" /> 通过Java代码设置 view.setTranslationZ(XXX) 通常也会使用属性动画来为视图高度改变的时候增加一个动画效果 if

    59620

    ConstraintLayout约束控件详解

    简单来说,她是相对布局的升级版本,但是区别与相对布局更加强调约束。何为约束,即控件之间的关系。 来看一张google给出的一张案例效果: ?...在工作区相对以前版本的变化 工作区 在工作区中有两种预览,一种设计预览,一种叫做蓝图的东西。...清理图标:用来清除所有的约束,当鼠标放倒一个控件上时也会有一个清理图标出现,点击可以清除当前选中的控件的约束。 ?...google使用案例 1.首先选择一个约束手柄,并按住鼠标拖动到另外一个控件的手柄原点上,当链接线变成绿色的时候松开鼠标即可创建一个约束。 ?...4.最后我们同时添加图片左边与右边的约束使其居中对齐。 ? 5.添加基线约束。 ? 属性面板 首先我们在屏幕上添加一个图片控件,并添加四边约束到根布局,此时我们看见的界面是这样的: ?

    1.2K50

    界面无小事(八):RecyclerView增删item

    前言 之前写过一篇代码动态增删布局的, 对比下这次的RecyclerView增删item, 说句实话, 代码动态增删布局基本可以退群了. ---- 增删item 当然首先你可以按照第一篇-界面无小事...(一): RecyclerView+CardView了解一下建立基础的RecyclerView....好了, 上效果图: ? 效果图 不单单是我演示的这种布局, 还有线型的, 横向的, 瀑布流都可以有这种类似效果. 可参考界面无小事(二): 让RecyclerView展示更多不同视图....那既然有默认动画, 肯定就能自定义动画了. 在这之前, 先说说几个方法. 用来设置动画的具体状态的持续时间....:2.3.0' } 在Project的build.gradle中写入 repositories { google() jcenter() } 具体使用部分只要用动画类名替换之前默认的动画类名即可

    79330

    CardView的那点事儿

    ↳ android.widget.FrameLayout ↳ android.support.v7.widget.CardView ---- 从官方的文档中我们可以看出: CardView:有圆角的背景和阴影的...如需了解详细信息,请参阅保持兼容性 使用以下属性定制 CardView 的外观: 如果要在布局中设置圆角半径,请使用 card_view:cardCornerRadius 属性。...card_view:contentPaddingStart card_view:contentPaddingEnd card_view:cardUseCompatPadding 设置内边距,V21+的版本和之前的版本仍旧具有一样的计算方式....+' } 布局文件中编写CardView 注意事项: 如果使用 card_view:cardCornerRadius 或者 card_view:cardBackgroundColor,布局文件根布局中需要添加.../** * 加了 @TargetApi(Build.VERSION_CODES.LOLLIPOP) * 在API21上运行时没有问题的

    1K20
    领券