首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
iFour
掘友等级
Android码农
|
保密
Android开发
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
992
文章 992
沸点 0
赞
992
返回
|
搜索文章
赞
文章( 992 )
沸点( 0 )
双向滑动悬停,无需嵌套,自定义 ViewGroup 完胜 ScrollView&ViewPager。
自定义滑动容器,无需嵌套 LinearLayout,支持不定宽高的子视图,支持水平和垂直方向的布局和手势,支持任意子 View 滑动吸顶或是吸底悬停的交互。支持 ViewPager 固有的 PageTransform 动画和 PageChangeListener ,ScrollChangeListener 等还有 View 滑动时可见索引变化 VisibleRangeChangeListener 接口。
Android 拍照、照片选择以及图片裁剪完全解析
Android 中头像选择,图片上传等功能几乎是每一个 APP 必备的功能,那么关于怎么使用相机,如何进行照片选择,以及选择后的图片裁剪,这一系列的问题都需要逐一解决。这也是本篇文章的主要内容。
长谈:关于 View Measure 测量机制,让我一次把话说完
如果你有下面的困扰,欢迎点击阅读原文。 1. 一个 View 的 parent 一定是 ViewGroup 吗? 2.Android 自定义 View 的时候,经常对 onMeasure() 的理解不到位。有时感觉懂了,有时又有点懵。 3.Android 自定义 View 的时候,经常对 onMeasure() 的理解不到位。有时感觉懂了,有时又有点懵。 4. 在 xml 中设置一个 View 的属性 layout_width 为 wrap_content 或者 match_parent 而不是具体数值 50dp 时,为什么 view 也有正常的尺寸。 5. 你或多或者知道 Android 测量时的 3 种布局模式:MeasureSpec.EXACTLY、Measure.AT_MOST、Measure.UNSPECIFIED。但你不大能够把握它们。 6. 你不但对自定义 View 没有问题,对于自定义 ViewGroup 也不在话下,你明白 Android 给出的 3 种测量模式的含义,但是你还是没有来得及去思考,3 种测量模式本身是什么。 7. 你也许没有想过 Activity 最外层的 View 是什么。 8. 你也许知道 Activity 最外层的 View 叫做 DecorView。明白它与 PhoneWindow 及 Activity.setContentView() 的联系。但你不知道谁对 DecorView 进行了尺寸测量。
Google 官方推出应用开发架构指南
Google 官方公布超详细的 Android 应用开发架构最佳实践指南。
Android动画实现详解
源码传送门 前言 我们都知道,漂亮的用户界面是衡量一款应用"好坏"很重要的依据,因为人都是视觉动物,就好比说花容月貌总有男人为之倾倒,英俊潇洒总能博得芳心。这是一个不容置疑的事实,那么我们的应用也是如此,一个漂亮的用户交互界面能提升用户对应用的好感,提升用户体验。而动画是提升用…
开源整理:Android App 新手指引开源控件
做好 App 的新手指引,能让其功能第一次与用户见面快速让用户上手,本文整理了 Github 上一些不错的新手指引开源控件,希望对开发者们有所帮助。
BuildConfig 与 build.gradle 的关系
BuildConfig 的使用
Kotlin 资源大全 - 学 Kotlin 看这一篇教程就够了
今天凌晨的 Google I/O 上,Google 正式宣布官方支持 Kotlin. 为了让大家更快了解和上手 Kotlin,掘金技术社区为大家整理了这份 Kotlin 资源大全,希望可以帮助大家用最短时间学习 Kotlin. Kotpref - Android SharedP…
沉浸式管理:让你的 APP 更优雅
自从 android4.4 开始,android 手机状态栏再也不是一成黑的时代,之前叫做变色龙,miui6 发布会把他叫做沉浸式,之后大家就自然而然的接受了沉浸式这个名称,其实实际应该叫做 Translucent Bar,即为透明状态栏。 沉浸式实现原理其实是使整个 activity 布局延伸到整个屏幕,然后使状态栏变成透明色,有些手机会有导航栏,同样也可以把导航栏变成透明色,这样会使一些 app 更加美观。
下一页
关注了
1
关注者
2
收藏集
1
关注标签
29
加入于
2016-05-31