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

励北网

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/jiemeng/941752.html,励北网一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


周公解梦
小编:小易整编
相关文章相关阅读
  • 存量是什么意思(增量和存量是什么意思)

    存量是什么意思(增量和存量是什么意思)

    “存量”是什么意思?“存量”的意思是:指某一指定的时点上,过去生产与积累起来的产品、货物、储备、资产负债的结存数量。注音:cúnliàng英文:stock经济上概念:“存量房”即为“库存待售”的房产。如某年某...

  • 黑心符号(黑心符号代表什么意思)

    黑心符号(黑心符号代表什么意思)

    黑心符号怎么打出来?步骤:1、把光标放在需要输入圆点的位置;2、在插入菜单中选择符号命令,弹出符号对话框;3、在符号对话框,选择特殊符号,找到符号,4、点击插入按键即可。黑色的爱心符号复制一个给我谢谢不是...

  • sqc是什么意思(餐饮qsc和SQC是什么意思)

    sqc是什么意思(餐饮qsc和SQC是什么意思)

    SQA,SQC是什么意思,有什么区别软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。统计质量控制(SQC-StatisticalQuality...

  • cqi是什么意思(c期是什么意思)

    cqi是什么意思(c期是什么意思)

    CQI是什么意思AQI,空气质量指数(AirQualityIndex)是定量描述空气质量状况的无量纲指数。针对单项污染物的还规定了空气质量分指数。参与空气质量评价的主要污染物为细颗粒物、可吸入颗粒物、二氧化硫、...

  • 以儆效尤是什么意思(以儆效尤是什么意思解释)

    以儆效尤是什么意思(以儆效尤是什么意思解释)

    以儆效尤这个词是什么意思以儆效尤是一个成语,读音是yǐjǐngxiàoyóu,儆:使人警醒,不犯错误;效:仿效,效法;尤:过失。指处理一个坏人或一件坏事,用来警告那些学着做坏事的人。出自《左传·庄公二十一年》...

  • msrp是什么意思(msrp是什么意思$24.00)

    msrp是什么意思(msrp是什么意思$24.00)

    MSRP是什么意思?msrp英[emesɑrpi]美[emesɑrpi]abbr.制造商建议零售价(ManufacturerSuggestedRetailPrice)MSRP:$是...

  • instincts(instincts是什么意思)

    instincts(instincts是什么意思)

    instincts是什么意思instincts英[nstkt]美[nstkt]n.本能,天性,直觉(instinct的名词复数)网络直觉;天性;本能数据来源:金山词霸双语例句柯林斯词...

  • trainees(trainees是什么意思)

    trainees(trainees是什么意思)

    “实习生”的英文怎么说实习生:Trainee中文释义:实习生[shíxíshēng](1)[trainee]∶受训学员,一个受训练准备参加一种工作的人(2)[intern]∶某一专业(如师范)的高年级或刚...