美文网首页
《每周一记》之Android的View基础

《每周一记》之Android的View基础

作者: 七戈 | 来源:发表于2016-11-12 23:51 被阅读17次

    为之于未有,治之于未乱。

    提纲

    • View的基础知识

    Android View学习笔记(一):View基础知识
    Android View学习笔记(二):View滑动方式总结
    Android View学习笔记(三):Scroller的原理剖析及使用(上)
    Android View学习笔记(四):Scroller的原理剖析及使用(下)

    磨刀不误砍柴工,所以我认为在学习自定义View之前,还是很有必要先掌握一些View的基础知识,以便在今后遇到问题时,能够融会贯通,从容的去解决问题。
    官网链接

    一、View的基础知识

    1、 什么View

    View是Android中所有控件的基类, 它在屏幕上占据一个矩形区域,负责绘图和事件处理。ViewGroup,字面意思上我们可以理解为控件组,不难理解就是包含多个View,也就是说它是由单个控件或者多个控件组成的控件。

    2、 View的位置参数

    View的位置主要由它的四个顶点来决定,分别对应于View的四个属性:top、left、right、bottom,其中top是左上角纵坐标,left是左上角横坐标,right是右下角横坐标,bottom是右下角纵坐标,这些坐标都是相对于View的父容器而言的,而并不是相对于手机屏幕而言。
    从Android3.0开始,View增加了几个额外的参数:x、y、translationX、translationY,其中x和y是View的左上角坐标,而translationX和translationY是View左上角相对于父容器的偏移量(默认值为0),View为它们提供了get/set方法,几个参数的换算关系如下所示:

    • x = left + translationX;
    • y = top + translationY;

    需要注意的是,View在平移的过程中,top和left表示的是原始左上角的位置信息,其值并不会发生变化。

    3、常用方法
    • setLeft(int left)
      Sets the left position of this view relative to its parent.

    • setTop(int top)
      Sets the top position of this view relative to its parent.

    • setRight(int right)
      Sets the right position of this view relative to its parent.

    • setBottom(int bottom)
      Sets the bottom position of this view relative to its parent.

    • setX(float x)
      Sets the visual x position of this view, in pixels.

    • setY(float y)
      Sets the visual y position of this view, in pixels.

    • setTranslationX(float translationX)
      Sets the horizontal location of this view relative to its left position.

    • setTranslationY(float translationY)
      Sets the vertical location of this view relative to its top position.

    • setAlpha(float alpha)
      Sets the opacity of the view to a value from 0 to 1, where 0 means the view is completely transparent and 1 means the view is completely opaque.

    • scrollBy(int x, int y)
      Move the scrolled position of your view.

    • scrollTo(int x, int y)
      Set the scrolled position of your view.

    注意:在onCreate()方法中是无法获取View坐标信息的,因为此时View还没有开始绘制,所有坐标信息将为0。

    相关文章

      网友评论

          本文标题:《每周一记》之Android的View基础

          本文链接:https://www.haomeiwen.com/subject/laaqpttx.html