`

android上一些方法的区别和用法的注意事项

阅读更多
onMeasure()和onLayout()
1. onMeasure
a. 属于View的方法,用来测量自己和内容的来确定宽度和高度
b. view的measure方法体中会调用onMeasure

2. onLayout
a. 属于ViewGroup的方法,用来为当前ViewGroup的子元素的位置和大小
b. View的layout方法体中会调用onLayout

3.onMeasure在onLayout之前调用
4. 设置background后,会重新调用onMeasure和onLayout

Intent中的addflags()和setflags()的区别
addflags():Add additional flags to the intent (or with existing flags value).
setflags():Set special flags controlling how this intent is handled.

Android 配置文件里面"@+id/"和"@id/"的区别"@+id/" 表示新增到系统中的id,"@id/"引用已有的id

getX( )和getRawX( )的区别
getX( )是获取以widget左上角为坐标原点计算的X轴坐标直.
getRawX( )获取的是以屏幕左上角为坐标原点计算的X轴坐标直

Android中getWidth和getMeasuredWidth的区别
getWidth得到是某个view的实际尺寸.
getMeasuredWidth是得到某view想要在 parent view里面占的大小
那用法呢?

1.getWidth在OnCreat的时候得到的是0..很奇怪, 我找到了原因: 当一个view对象创建时,android并不知道其大小,所以getWidth()和   getHeight()返回的结果是0,真正大小是在计算布局时才会计算,所以会发现一个有趣的事,即在onDraw( ) 却能取得长宽的原因。  那怎么在onCreat  的时候得到呢?  
  width = activity.getWindowManager().getDefaultDisplay().getWidth(); 
  height = activity.getWindowManager().getDefaultDisplay().getHeight();

2.  getMeasuredWidth必须在parent view或者它自己调用measure()函数之后才能得到. measure函数就是计算该函数需要占用的空间大小.

layout(int l, int t, int r, int b)和setFrame(int l, int t, int r, int b)
View中的layout(int l, int t, int r, int b)和setFrame(int l, int t, int r, int b)是相同的作用,用来确定一个view的位置和占据的空间大小

android:layout_gravity是本元素对父元素的重力方向
android:gravity是本元素所有子元素的重力方向android:layout_toLeftOf="@id/ok" 在某某的左边
android: layout_alignTop="@id/ok" 与某某上面对齐
android:layout_alignParentRight="true" 与父容器右边对齐
android:layout_marginLeft="10dip" 左边空出10dip空间

判断是否已经选中一个ListItem
list.getSelectedItemId()>0

在dialog或者menu生成前回调的方法~ 参考《android开发入门与实践》P121和P167

android.content.UriMatcher和android.content.ContentUris的用法,具体参考《android开发入门与实践》第8章日记软件第二种写法
Uri发起图片
ImageView.setImageUri(Uri.fromFile(new File("/sdcard/cats.jpg")));
ImageView.setImageUri(Uri.parse(new File("/sdcard/cats.jpg").toString()));

AlertDialog dismiss 和 cancel方法的区别

其他注意事项:
Tips from Android SDK Articles
分享到:
评论
1 楼 JavaJ2me 2011-08-05  
真厉害。。

相关推荐

    AndroidStudio使用svn第一次提交,忽略文件注意事项

    Android Studio 中使用 SVN 的第一次提交注意事项 Android Studio 作为一款功能强大的集成开发环境,在使用 SVN 进行版本控制时,需要特别注意第一次提交时的忽略文件问题。本文将对第一次提交时需要忽略的文件...

    Android 高效编程注意事项

    ### Android高效编程注意事项 在Android应用开发过程中,为了提高应用程序的性能和响应速度,开发者需要注意以下几点关于高效编程的关键知识点: #### 概述 对于资源受限的系统(如移动设备),有两个基本准则...

    Android MediaPlayer使用方法简单介绍

    而`Android MediaPlayer使用方法简单介绍.docx`则可能是更详尽的教程,包含了更多实践中的注意事项和技巧。 最后,`3gp`格式的文件如"高清MV少女时代-Gee-原装画质MV640x360-MP4.3gp"、"蔡妍 只有你.3gp"、"Nobody...

    Android Service使用注意事项1

    在使用Service时,有几个关键的注意事项需要开发者了解和遵循,以确保Service的正确运行和应用程序的稳定性。以下是关于"Android Service使用注意事项1"的详细解释: 1. **注册Service** 在Android系统中,所有的...

    android中include和merge标记的区别和使用

    接下来,我们将深入探讨这两个标记的区别和使用方法。 ### `include`标签 `include`标签用于将一个布局文件嵌入到另一个布局文件中,它允许开发者复用已有的布局组件。使用`include`标签可以将常见的UI元素如头部...

    Android开发命名规范以及注意事项1

    本文将深入探讨Android开发中的命名原则、规范和一些重要的注意事项。 1. **命名原则** - 简洁明了:命名应清晰易懂,避免使用无意义或模糊的缩写。 - 见名思义:名称应能直接反映其用途或功能。 - 一致性:整个...

    android 播放音频、视频的MediaPlayer使用时的注意事项.doc

    以下是对MediaPlayer使用时的一些关键注意事项的详细解释: 1. **生命周期管理**: - 在`onCreate()`方法中创建MediaPlayer对象时,它默认并不会处于prepared状态,而是初始化状态。你需要调用`prepare()`或`...

    android中的handler的使用方法

    本文将深入探讨Android中的Handler机制及其使用方法。 首先,理解Handler的基本概念。Handler是Android消息处理系统的一部分,它与Looper和Message紧密协作,用于在不同线程之间传递消息和执行任务。通常,主线程...

    180个Android开发常见问题、实用技巧及注意事项

    在Android开发过程中,开发者经常会遇到各种问题,这些挑战可能...以上只是部分Android开发中的常见问题、实用技巧和注意事项,实际开发中还有更多细节需要注意。不断学习和实践,才能成为一名优秀的Android开发者。

    Android带参字串的写法注意事项

    在这个文件中,电量低的通知字符串通过资源ID和`getString`方法来获取,并使用了`mBatteryLevel`作为参数。如果原始资源字符串模板写得不正确,就会导致在获取最终字符串时丢失了实际的百分比数据,像文章中提到的...

    android ndk 环境搭建注意事项 附资料

    在Android开发领域,Native ...通过以上步骤和注意事项,你应该能够成功地搭建Android NDK开发环境,并开始编写和集成原生代码。在实践中,不断学习和理解NDK的工作原理,以及如何有效地利用它来提升你的Android应用。

    Android源码分析工具及方法

    本文旨在介绍一些常用的Android源码分析工具及其使用方法,并通过实际案例展示如何利用这些工具进行源码分析。 #### 二、Eclipse作为源码分析工具 在早期的Android开发中,Eclipse是主流的集成开发环境(IDE)。...

    Android中调用js方法及js中调用本地方法

    3. **安全注意事项** - 使用`@JavascriptInterface`注解是为了防止恶意的JavaScript代码访问Android的敏感数据。在API 17及更高版本,未标记的接口方法默认是不可从JavaScript访问的。 - 由于JavaScript可以调用...

    androidSDK安装方法

    本文将详细介绍Android SDK在Eclipse开发环境下的安装步骤与注意事项。 #### 二、准备工作 在开始安装Android SDK之前,请确保已安装Java JDK,并且环境变量配置正确。此外,还需要下载并安装Eclipse IDE,这是...

    Android的Logcat详细用法

    6. **注意事项**: - `ANDROID_LOG_TAGS` 过滤器不会影响通过远程adb shell或者直接在模拟器/设备上运行的 `adb shell logcat` 命令。 - 使用过滤器可以更有效地定位和解决问题,尤其是在处理大量日志信息时。 ...

    Android内核编译方法

    #### 五、移植注意事项 在尝试将Android内核移植到其他硬件平台时,需要注意以下几点: - **硬件兼容性**:不同硬件平台可能需要不同的内核配置和驱动程序。 - **内核版本**:确保所使用的内核版本与硬件平台相...

    AndroidStudio清理无用冗余资源文件工具使用方法

    2. 检查`proguard-rules.pro`文件,添加必要的保留规则,防止重要类和方法被混淆或删除。 3. 清理资源后,务必运行应用进行全面测试,确保功能正常。 总结,通过合理使用Android Studio的分析工具和Gradle插件,...

Global site tag (gtag.js) - Google Analytics