专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

view是什么意思(你真的认识View吗?)

来源:小易整编  作者:小易  发布时间:2023-03-27 08:46
摘要:view是什么意思(你真的了解View吗?)作为一名Android开发者,我在工作中肯定会或多或少的和自定义视图打交道。很多人提起自定义视图的之一反应是,“,那东西好难,修不好。去网上找找有没有类似的实现,拿去改。”其实,我们之...

view是什么意思(你真的了解View吗?)

view是什么意思(你真的认识View吗?)

作为一名Android开发者,我在工作中肯定会或多或少的和自定义视图打交道。很多人提起自定义视图的之一反应是,“ *** ,那东西好难,修不好。去网上找找有没有类似的实现,拿去改。”

其实,我们之所以觉得定制View很难,根本原因是我们对View的基础没有牢牢把握。

今天,在这篇文章中,我将带你重新学习视图的基础知识。

视图的构造函数

1.视图(上下文)

在Java代码中新增时调用。

2.视图(上下文,属性集)

在中声明时调用。属性集是从。xml。

上面的layout_width,layout_height和src在哪里?Youyou XML来自哪里?他们不是空生产的;事实上,这些属性被明确声明为系统需要处理的东西。例如,src的定义如下:

每个declare-styleable生成一个R.styleable.[name],加上每个属性的R.styleable.[name]_[attribute]。例如,上面的代码生成R.styleable.ImageView和R.styleable.ImageView_src

这些资源是什么?R.styleable.[name]是所有属性资源的数组,系统使用它来查找属性值。每个R.styleable.[name]_[attribute]正好是这个数组的索引,可以一次性取出所有属性,然后按索引查询每个的值。

xml中的属性通过构造方法以attributesset的形式传递给视图,但通常我们不会直接使用attributesset。而是使用Theme.obtainStyledAttributes,这是因为原始属性通常需要引用和样式化。比如在XML中定义style=@style/MyStyle,这个方法首先获取MyStyle,然后混合它的属性。最后,获取样式属性返回一个类型尤优资源 *** 数组,您可以使用它来获取属性值。这个过程简化后,看起来是这样的:

public ImageView(Context context, AttributeSet attrs) {TypedArray ta = context.obtainStyledAttributes(attrs,R.styleable.ImageView, 0, 0);Drawable src = ta.getDrawable(R.styleable.ImageView_src);setImageDrawable(src);ta.recycle;}

这里,我们将两个参数传递给获取样式属性。之一个参数是AttributeSet attrs,即xml中的属性;]第二个参数是R.styleable.ImageView数组,它告诉这个方法我们想要取哪个属性值。这里是指获取ImageView属性的值;第三和第四个参数是两个资源引用,defStyleAttr和defStyleRes,将在第三和第四个构造方法中解释。

当我们得到TypedArray时,我们可以得到单个属性。我们需要使用R.styleable.ImageView_src来正确索引数组中的src属性。

3.视图(上下文,属性集,

defStyleAttr)

DefStyleAttr参数:default Style,指其在当前应用或活动使用的主题中的默认样式。它为特定类型的视图定义了这个类的基本样式。如果在构造方法中没有指定我们的自定义样式,我们将使用Andoid系统的默认控件样式,需要通过theme间接指定,如下图:

1.在主题中设置样式(styles.xml)

@style/CustomStyle@android:color/black

2.在施工方法中使用。

TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.view, R.attr.mStyle, 0);

4.视图(上下文,属性集,

defStyleAttr,defStyleRes)

DefStyleRes参数:它只是一个样式资源(@style/Widget。TextView)用于指定样式。比defStyleAttr简单,不需要间接通过theme。在API 21中增加。所以除非是21,否则不要用minSdkVersion。

它们串联在一起。如果你调用一个,所有的都会通过super调用。串联也意味着你只需要重写你需要的构造函数。一般来说,只需要实现前两个(一个用于代码,一个用于XML膨胀)。

视图结构

对于有多个视图的视图,结构是树形结构:最顶层是视图组,视图组下可能有多个视图组或视图,如下图所示:

注意:无论是测量过程、布局过程还是绘制过程,总是从视图树的根节点(即从树的顶部)开始,一层一层,一个分支一个分支地测量或计算(即树递归)。最后计算整个视图树中的所有视图,最终确定整个视图树的相关属性。

安卓坐标系

Android的坐标系定义为:

屏幕的左上角是坐标原点。

增加右X轴的方向。

增加向下Y轴的方向

具体数字如下:

视图位置(坐标)描述)

视图的位置由四个顶点决定(如下图A、B、C和D所示)

四个顶点的位置描述由四个值决定(视图的位置相对于父控件):

顶部:从子视图的上边界到父视图的上边界的距离。

左:从子视图的左边界到父视图的左边界的距离。

底部:从子视图底部边缘到父视图顶部边缘的距离。

右:从子视图右边界到父视图左边界的距离。

视图位置获取方法

视图的位置由view.getxxx函数获取(以Top为例):

// 获取Top位置public final int getTop {return mTop;}// 其余如下:getLeft;//获取子View左上角距父View左侧的距离getBottom; //获取子View右下角距父View顶部的距离getRight; //获取子View右下角距父View左侧的距离

与get的区别...和getRaw...运动事件中

//get :触摸点相对于友优资源网其所在组件坐标系的坐标event.getX;event.getY;//getRaw :触摸点相对于屏认坐标系的坐标event.getRawX;event.getRawY;

具体数字如下:

安卓的角度和弧度

角度和弧度都是描述角度的度量单位,区别如下:

在默认的屏幕坐标系中,角度增加方向是顺时针方向,与数学坐标系正好相反。


本文地址:百科常识频道 https://www.neebe.cn/changshi/941752.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科常识
小编:小易整编
相关文章相关阅读
  • 过五关斩六将(过五关斩六将的意思是)

    过五关斩六将(过五关斩六将的意思是)

    夏洛的人生2023-05-01财经4今天给各位分享过五关斩六将的知识,其中也会对过五关斩六将的意思是进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!关羽过五关斩六将中的六将有哪些人?洛阳太守韩福和...

  • 歆(歆怎么读什么意思)

    歆(歆怎么读什么意思)

    推一把2023-05-01百科5今天给各位分享歆的知识,其中也会对歆怎么读什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!“歆”字读音是什么?“歆”的读音是xīn。有两种意思,第一种是喜爱...

  • 兼容性设置(兼容性设置卸载是什么意思)

    兼容性设置(兼容性设置卸载是什么意思)

    知道小编2023-05-01经验7今天给各位分享兼容性设置的知识,其中也会对兼容性设置卸载是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!Win10系统兼容性怎么设置兼容模式开启方法1、...

  • acp(acp是什么酶)

    acp(acp是什么酶)

    喜得利2023-05-01百科5今天给各位分享acp的知识,其中也会对acp是什么酶进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!acp的含义是什么?ACP的含义是敏捷管理专业人士资格认证,是英...

  • 四喜鸭子是什么地方的菜(四喜烤鸭)

    四喜鸭子是什么地方的菜(四喜烤鸭)

    毓秀1062023-05-01美食3本篇文章给大家谈谈四喜鸭子是什么地方的菜,以及四喜烤鸭对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。四喜鸭子是什么品种做的四喜鸭子一般怎么做四喜鸭子是一道特色传统名菜,属于八...

  • 过五关斩六将(过五关斩六将的意思是)

    过五关斩六将(过五关斩六将的意思是)

    夏洛的人生2023-05-01财经3今天给各位分享过五关斩六将的知识,其中也会对过五关斩六将的意思是进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!关羽过五关斩六将中的六将有哪些人?洛阳太守韩福和...

  • 以战止戈(以战止戈真的有这本小说吗)

    以战止戈(以战止戈真的有这本小说吗)

    吴忧生活2023-05-01知道3今天给各位分享以战止戈的知识,其中也会对以战止戈真的有这本小说吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!以战止戈是成语吗以战止戈不是成语。《以战止戈》是惜...

  • 苹果市值一夜蒸发1500亿美元(苹果市值一夜蒸发1500亿美元是真的吗)

    苹果市值一夜蒸发1500亿美元(苹果市值一夜蒸发1500亿美元是真的吗)

    好助手百科2023-05-01财经6今天给各位分享苹果市值一夜蒸发1500亿美元的知识,其中也会对苹果市值一夜蒸发1500亿美元是真的吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!苹果市值一夜...

  • 周排行
  • 月排行
  • 年排行

精彩推荐