首页 > 其他分享 >android上一些方法的区别和用法的注意事项

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

时间:2023-03-20 13:01:55浏览次数:44  
标签:layout int 用法 getWidth 注意事项 android id view


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​​

标签:layout,int,用法,getWidth,注意事项,android,id,view
From: https://blog.51cto.com/u_5454003/6132607

相关文章

  • 关于微信小程序的boundingClientRect用法
    微信小程序提供了wx.createSelectorQuery接口,用于获取WXML节点信息。其中,boundingClientRect方法可以获取某个节点的布局位置和尺寸信息。boundingClientRect方法接......
  • 【Android 逆向】【攻防世界】Ph0en1x-100
    1.apk安装到手机,老套路需要输入flag2.jadx打开apk,没有加壳......publicvoidonGoClick(Viewv){StringsInput=this.etFlag.getText().toString()......
  • python高级用法之命名元组namedtuple
    1.tuple类型数据的获取大家都知道,元组里面的数据获取只能通过下标的方式去获取,比如:a=('username','age','phone'),要获取username的话,就需要用a[0]的方式去获取,当元组......
  • android stdio对于xml中列表的展示
    我们需要用到一个控件,ListView如果愿意深度学习,可以观看下方的文章。(11条消息)Android最常用的控件ListView(详解)_androidlistview_撩得Android一次心动的博客-CSDN博......
  • [Android] Android版本 和 SDK / NDK / Qt 版本对应关系
    系统版本与SDK版本平台版本 API级别(SDK版本)版本代号发布时间Android1130R2020.9Android10.029 Q2019.8Android9.028Pie2018.8Android8.1 27 Oreo2017.12Android8.0......
  • android studio里设置 大括号占一行
    看了书《构建之法》里面有说到建议编程时的那个大括号占一行的,今天学android的时候突然想试试设置 一下,上网搜索了一下,方法如下图:  这样就可以了!!!......
  • Android控件TextProgressBar进度条上显文字
    Android系统的进度条控件默认的设计的不是很周全,比如没有包含文字的显示,那么如何在Android进度条控件上显示文字呢?来自Google内部的代码来了解下,主......
  • Android的Handler总结
    <一>Handler的定义:         主要接受子线程发送的数据,并用此数据配合主线程更新UI.         解释:当应用程序启动时,And......
  • Android AsyncTask异步任务的使用
    文章目录​​小结​​​​定义异步任务类​​​​开启异步任务​​​​参考​​小结可以使用androidAsyncTask来执行繁重的后台任务,以避免UI界面无响应,并可以实时在UI界面......
  • Android自定义长按事件
    Android系统自带了长按事件,setOnLongClickListener即可监听。但是有时候,你不希望用系统的长按事件,比如当希望长按的时间更长一点的时候。这时候就需要......