Android View

Android UI 用户界面 中我们知道了 View 是所有的 Android 布局和控件的基类,那么我们就有必要对 View 进行详细的了解了

android.view.View

android.view.View 类是用户界面组件的基本构建块 (就像乐高中的小块)

View 会占用屏幕上的矩形区域,负责绘图和事件处理

View 用于创建交互式 UI 组件 ( Button,TextView 等)

使用 android.view.View

Android APP 一个界面中的所有 view 都排列在一棵树中

我们可以从代码或通过在一个或多个 XML 布局文件中指定视图树来添加视图

有许多特殊的视图子类可用作控件或能够显示文本,图像或其它内容

一旦创建了一个视图树,通常我们可能希望执行几种常见的操作

  1. 设置属性

    例如设置 <TextView> 的文本

    <TextView android:text="我用于设置文本" />
    

    注意: View 的每个子类或控件可用的属性和设置它们的方法可能有所不同

  2. 设置焦点

    当用户对某个控件点击时,View 会自动处理焦点问题

    如果我们想设置某个 UI 控件获得焦点,可以调用 requestFocus() 方法

  3. 设置监听器

    当用户在某个控件上点击或者输入时,我们可以设置监听器来响应这些操作

    例如,我们可以设置一个失去焦点的监听器,以便在 UI 控件获得或失去焦点时得到通知

    setOnFocusChangeListener(android.view.View.OnFocusChangeListener)

  4. 设置可见性

    我们可以调用下面的方法对隐藏或显示某个控件

    setVisibility(int)
    

android.view.View XML 属性

下表列出了 android.view.View 所有可设置的 XML 属性

XML 属性 说明
android:alpha 设置该组件的透明度
android:background 设置该组件的背景颜色
android:clickable 设置该组件是否可以激发单击事件
android:contentDescription 设置该组件的主要描述信息
android:drawingCasheQuanlity 设置该组件所使用的绘制缓存质量
android:fadeScrollbars 设置该组件不使用滚动条时,是否淡出显示滚动条
android:fadingEdge 设置滚动该组件时边界是否使用淡出效果
android:fadingEdgeLength 设置淡出边界长度
android:focusable 设置该组件是否可以得到焦点
android:focusableInTouchMode 设置该组件在触摸模式下是否可以得到焦点
android:id 设置该组件ViewById来获取它
android:isScrollContainer 设置该组件是否可以作为可滚动容器使用
android:keepScreenOn 设置该组件是否会强制手机屏幕一直打开
android:longClickable 设置该组件是否可以响应长单击事件
android:minHeight 设置该组件的最小高度
android:minWidth 设置该组件的最小宽度
android:nextFocusDown 设置焦点在该组件上,且按向下键时获得焦点的组件id
android:nextFocusRight 设置焦点在该组件上,且按向右键时获得焦点的组件id
android:nextFocusLeft 设置焦点在该组件上,且按向左键时获得焦点的组件id
android:nextFocusUp 设置焦点在该组件上,且按向上键时获得焦点的组件id
android:onClick 为该组件的单击事件绑定监听器
android:padding 在组件的四边设置填充区域
android:paddingLeft 在组件的左边设置填充区域
android:paddingRight 在组件的右边设置填充区域
android:paddingBottom 在组件的底边设置填充区域
android:paddingTop 在组件的顶边设置填充区域
android:rotation 设置该组件的旋转角度
android:rotationX 设置该组件绕X轴旋转的角度
android:rotationY 设置该组件绕Y轴旋转的角度
android:saveEnabled 设置为false,当该组件被冻结时不会保存其状态
android:scaleX 设置该组件水平方向的缩放比
android:scaleY 设置该组件垂直方向的缩放比
android:scrollX 设置该组件初始化后的水平滚动条偏移
android:scrollY 设置该组件初始化后垂直滚动条偏移
android:scrollbarAlwaysDrawHorizontalTrack 设置该组件是否显示水平滚动条的轨迹
android:scrollbarAlwaysDrawVerticalTrack 设置该组件是否显示垂直滚动条的轨迹
android:scrollbarDefaultDelayBeforeFade 设置滚动条在淡出隐藏之前延迟多少毫秒
android:scrollbarFadeDuration 设置滚动条淡出隐藏需要多少秒
android:scrollbarSize 设置垂直滚动条的宽度和水平滚动条的高度
android:scrollbarStyle 设置滚动条的风格和位置:insideOverlay
android:scrollThumbHorizontal 设置该组件水平滚动滑块对对应的Drawable对象
android:scrollThumbVertical 设置该组件垂直滚动滑块对对应的Drawable对象
android:scrollTrackbHorizontal 设置该组件水平滚动轨道对对应的Drawable对象
android:scrollTrackbVertical 设置该组件垂直滚动轨道对对应的Drawable对象
android:scrollbar 设置该组件滚动时显示几个滚动条:none horizontal,vertical
android:soundEffectsEnabled 设置该组件被单击时是否使用音效
android:tag 为组件设置一个字符串tag值,可以通过view的getTag 获取字符串,或通过findViewByTag查找该组件
android:transformPivotX 设置该组件旋转时旋转中心的X坐标
android:transformPivotY 设置该组件旋转时旋转中心的Y坐标
android:translationX 设置该组件在x方向上的位移
android:translationY 设置该组件在Y方向上的位移
android:visibility 设置该组件是否可见

android:id 属性

每一个 UI 控件都可以有一个与它们相关的 ID

我们一般使用 android:id 属性在 XML 中给 UI 控件定义 ID ,然后在 Java 中通过 R.id.xxx 方法找到这个 UI 控件,比如

在布局文件中定义一个按钮并为其分配一个唯一的ID

<Button
     android:id="@+id/my_button"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="@string/my_button_text"/>

在 Activity 的 onCreate() 方法中,找到 Button

Button myButton = findViewById(R.id.my_button);

注意: ID 属性不要求都不一样,但至少要在一个 View 树中不一样,注意不是 XML 文件

参考文档

  1. Android android.view.View

Android 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.