Activity.isChangingConfigurations ()如果在 Activity 中 configuration 会经常改变的话,使用这个方法就可以不用手动做保存状态的工作了。 SearchRecentSuggestionsProvider可以创建最近提示效果的 provider,是一个简单快速的方法。 ViewTreeObserver这是一个很棒的工具。可以进入到 VIew 里面,并监控 View 结构的各种状态,通常我都用来做 View 的测量操作(自定义视图中经常用到)。 org.gradle.daemon=true这句话可以帮助减少 Gradle 构建的时间,仅在命令行编译的时候用到,因为 Android Studio 已经这样使用了。 一个包含各种数据库操作的使用工具。 android:weightSum (LinearLayout)如果想使用 layout weights,但是却不想填充整个 LinearLayout 的话,就可以用 weightSum 来定义总的 weight 大小。 android:duplicateParentState (View)此方法可以使得子 View 可以复制父 View 的状态。比如如果一个 ViewGroup 是可点击的,那么可以用这个方法在它被点击的时候让它的子 View 都改变状态。 DatabaseUtilsandroid:clipChildren (ViewGroup)如果此属性设置为不可用,那么 ViewGroup 的子 View 在绘制的时候会超出它的范围,在做动画的时候需要用到。 android:fillViewport (ScrollView)在这片文章中有详细介绍可以指定图片使用重复填充的模式。 android:ente**deDuration/android:exitFadeDuration (Drawables)此属性在 Drawable 具有多种状态的时候,可以定义它展示前的淡入淡出效果。 android:scaleType (ImageView)定义在 ImageView 中怎么缩放/剪裁图片,一般用的比较多的是“centerCrop”和“centerInside”。 Merge此标签可以在另一个布局文件中包含别的布局文件,而不用再新建一个 ViewGroup,对于自定义 ViewGroup 的时候也需要用到;可以通过载入一个带有标签的布局文件来自动定义它的子部件。 AtomicFile通过使用备份文件进行文件的原子化操作。这个知识点之前我也写过,不过最好还是有出一个官方的版本比较好。
ViewDragHelper 视图拖动是一个比较复杂的问题。这个类可以帮助解决不少问题。 PopupWindow-Android到处都在使用PopupWindow ,甚至你都没有意识到(标题导航条ActionBar,自动补全AutoComplete,编辑框错误提醒Edittext Errors)。这个类是创建浮层内容的主要方法。 Actionbar.getThemrContext()导航栏的主题化是很复杂的(不同于Activity其他部分的主题化)。你可以得到一个上下文(Context),用这个上下文创建的自定义组件可以得到正确的主题。 ThumbnailUtils帮助创建缩略图。通常我都是用现有的图片加载库(比如,Picasso 或者 Volley),不过这个ThumbnaiUtils可以创建视频缩略图。该API从V8才开始支持。 Context.getExternalFilesDir() 申请了SD卡写权限后,你可以在SD的任何地方写数据,把你的数据写在设计好的合适位置会更加有礼貌。这样数据可以及时被清理,也会有更好的用户体验。此外,Android 4.0 Kitkat中在这个文件夹下写数据是不需要权限的,每个用户有自己的独立的数据存储路径。 SparseArrayMap的高效优化版本。推荐了解姐妹类SparseBooleanArray、SparseIntArray和SparseLongArray。 PackageManager.setComponentEnabledSetting()可以用来启动或者禁用程序清单中的组件。对于关闭不需要的功能组件是非常赞的,比如关掉一个当前不用的广播接收器。 SQLiteDatabase.yieldIfContendedSafely()让你暂时停止一个数据库事务, 这样你可以就不会占用太多的系统资源。 Environment.getExternalStoragePublicDirectory()还是那句话,用户期望在SD卡上得到统一的用户体验。用这个方法可以获得在用户设备上放置指定类型文件(音乐、图片等)的正确目录。 View.generateViewId()每次我都想要推荐动态生成控件的ID。需要注意的是,不要和已经存在的控件ID或者其他已经生成的控件ID重复。 ActivityManager.clearApplicationUserData() 一键清理你的app产生的用户数据,可能是做用户退出登录功能,有史以来最简单的方式了。 Context.createConfigurationContext() 自定义你的配置环境信息。我通常会遇到这样的问题:强制让一部分显示在某个特定的环境下(倒不是我一直这样瞎整,说来话长,你很难理解)。用这个实现起来可以稍微简单一点。 ActivityOptions 方便的定义两个Activity切换的动画。 ViewParent.requestDisallowInterceptTouchEvent() Android系统触摸事件机制大多时候能够默认处理,不过有时候你需要使用这个方法来剥夺父级控件的控制权 本文转载于微信公众号: Android码农的逆袭(android_developers),更多微信文章请扫描关注公众号: |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|