安卓开发(Android)-组件

文本和颜色定义

 string.xml

color.xml

 

Android中所有控件都继承自android.view.View

XML 属性

android:accessibilityHeading此视图是否是出于可访问性目的的标题。 
android:accessibilityLiveRegion向无障碍服务指示此视图更改时是否应通知用户。 
android:accessibilityPaneTitle此视图应作为窗格标题呈现给可访问性的标题。 
android:accessibilityTraversalAfter设置视图的 id,之后在可访问性遍历中访问该视图。 
android:accessibilityTraversalBefore设置在可访问性遍历中访问该视图之前的视图的 id。 
android:allowClickWhenDisabled是否允许点击禁用视图。 
android:alpha视图的 alpha 属性,值介于 0(完全透明)和 1(完全不透明)之间。 
android:autofillHints描述视图的内容,以便自动填充服务可以填充适当的数据。 
android:autofilledHighlight可绘制在视图上以将其标记为自动填充

可能是对另一个资源的引用,形式为“ ”或形式为“ ”的主题属性。  @[+][package:]type/name?[package:]type/name

android:background用作背景的可绘制对象。 
android:backgroundTint应用于背景的色调。 
android:backgroundTintMode用于应用背景色调的混合模式。 
android:clickable定义此视图是否对单击事件作出反应。 
android:clipToOutline

是否应使用 View 的 Outline 来剪辑 View 的内容。 

android:contentDescription定义简要描述视图内容的文本。 
android:contextClickable定义此视图是否对上下文单击事件做出反应。 
android:defaultFocusHighlightEnabled此视图在获得焦点但未在其背景中定义时是否应使用默认焦点突出显示。  R.attr.state_focused
android:drawingCacheQuality定义半透明绘图缓存的质量。 
android:duplicateParentState当此属性设置为 true 时,视图从其直接父级而不是从自身获取其可绘制状态(聚焦、按下等)。 
android:elevation视图的基础 z 深度。 
android:fadeScrollbars定义是否在不使用滚动条时淡出滚动条。 
android:fadingEdgeLength定义渐隐边缘的长度。 
android:filterTouchesWhenObscured指定当视图的窗口被另一个可见窗口遮挡时是否过滤触摸。 
android:fitsSystemWindows布尔型内部属性,根据状态栏等系统窗口调整视图布局。 
android:focusable控制视图是否可以获取焦点。 
android:focusableInTouchMode控制视图在触摸模式下是否可以获取焦点的布尔值。 
android:focusedByDefault此视图是否为默认焦点视图。 
android:forceHasOverlappingRendering此视图是否具有绘制时可能重叠的元素。 
android:foreground定义可绘制内容以绘制内容。 
android:foregroundGravity定义要应用于前景可绘制对象的重力。 
android:foregroundTint应用于前景的色调。 
android:foregroundTintMode混合模式用于应用前景色调。 
android:hapticFeedbackEnabled布尔值,用于控制视图是否应为长按等事件启用触觉反馈。 
android:id提供此视图的标识符名称,以便稍后使用或 检索它。  View.findViewById()Activity.findViewById()
android:importantForAccessibility描述此视图对于可访问性是否重要。 
android:importantForAutofill提示 Android 系统与此视图关联的视图节点是否应包含在用于自动填充目的的视图结构中。 
android:importantForContentCapture提示 Android 系统与此视图关联的视图节点是否应用于内容捕获目的。 
android:isScrollContainer如果视图将用作滚动容器,则设置此项,这意味着可以调整其大小以缩小其整个窗口,以便为输入法留出空间。 
android:keepScreenOn控制视图的窗口是否应在可见时保持屏幕开启。 
android:keyboardNavigationCluster此视图是否是键盘导航集群的根。 
android:layerType指定支持此视图的图层类型。 
android:layoutDirection定义布局图的方向。 
android:longClickable定义此视图是否对长按事件作出反应。 
android:minHeight定义视图的最小高度。 
android:minWidth定义视图的最小宽度。 
android:nextClusterForward定义下一个键盘导航集群。 
android:nextFocusDown定义下一个焦点在下一个焦点时的下 一个视图 如果引用引用的视图不存在或属于不可见的层次结构的一部分, 则访问引用时将产生a 。  View.FOCUS_DOWNRuntimeException
android:nextFocusForward定义下一个焦点在下一个焦点时的下 一个视图 如果引用引用的视图不存在或属于不可见的层次结构的一部分, 则访问引用时将产生a 。  View.FOCUS_FORWARDRuntimeException
android:nextFocusLeft定义在下一个焦点为 时要给予焦点的下一个视图 。  View.FOCUS_LEFT
android:nextFocusRight定义下一个焦点在下一个焦点时的下 一个视图 如果引用引用的视图不存在或属于不可见的层次结构的一部分, 则访问引用时将产生a 。  View.FOCUS_RIGHTRuntimeException
android:nextFocusUp定义下一个焦点在下一个焦点时的下 一个视图 如果引用引用的视图不存在或属于不可见的层次结构的一部分, 则访问引用时将产生a 。  View.FOCUS_UPRuntimeException
android:onClick单击视图时要在此视图的上下文中调用的方法的名称。 
android:outlineAmbientShadowColor设置当视图具有正 Z 值或高程值时绘制的环境阴影的颜色。 
android:outlineSpotShadowColor设置当视图具有正 Z 值或高程值时绘制的点阴影的颜色。 
android:padding设置所有四个边缘的填充(以像素为单位)。 
android:paddingBottom设置底部边缘的填充(以像素为单位);见。  R.attr.padding
android:paddingEnd设置结束边缘的填充(以像素为单位);见。  R.attr.padding
android:paddingHorizontal设置左右边缘的填充(以像素为单位);见 。  R.attr.padding
android:paddingLeft设置左边缘的填充(以像素为单位);见。  R.attr.padding
android:paddingRight设置右边缘的填充(以像素为单位);见。  R.attr.padding
android:paddingStart设置起始边缘的填充(以像素为单位);见。  R.attr.padding
android:paddingTop设置顶部边缘的填充(以像素为单位);见。  R.attr.padding
android:paddingVertical设置顶部和底部边缘的填充(以像素为单位);见 。  R.attr.padding
android:requiresFadingEdge定义滚动时应淡化哪些边缘。 
android:rotation视图的旋转,以度为单位。 
android:rotationX视图绕 x 轴旋转,以度为单位。 
android:rotationY围绕 y 轴的视图旋转,以度为单位。 
android:saveEnabled如果为 false,则此视图在冻结时不会保存任何状态。 
android:scaleXx 方向的视图比例。 
android:scaleYy 方向视图的比例。 
android:screenReaderFocusable屏幕阅读器辅助功能工具是否应将此视图视为可聚焦单元。 
android:scrollIndicators定义可以滚动视图时应显示哪些滚动指示器。 
android:scrollX初始水平滚动偏移量,以像素为单位。 
android:scrollY初始垂直滚动偏移量,以像素为单位。 
android:scrollbarAlwaysDrawHorizontalTrack定义是否应始终绘制水平滚动条轨道。 
android:scrollbarAlwaysDrawVerticalTrack定义是否应始终绘制垂直滚动条轨道。 
android:scrollbarDefaultDelayBeforeFade定义滚动条在淡出之前等待的延迟(以毫秒为单位)。 
android:scrollbarFadeDuration定义滚动条淡出所需的延迟(以毫秒为单位)。 
android:scrollbarSize设置垂直滚动条的宽度和水平滚动条的高度。 
android:scrollbarStyle控制滚动条的样式和位置。 
android:scrollbarThumbHorizontal定义水平滚动条拇指可绘制。 
android:scrollbarThumbVertical定义垂直滚动条拇指可绘制。 
android:scrollbarTrackHorizontal定义可绘制的水平滚动条轨道。 
android:scrollbarTrackVertical定义可绘制的垂直滚动条轨道。 
android:scrollbars定义哪些滚动条应该在滚动时显示或不显示。 
android:soundEffectsEnabled布尔值,用于控制视图是否应为单击和触摸等事件启用声音效果。 
android:stateListAnimator为视图设置基于状态的动画器。 
android:tag为这个包含字符串的视图提供一个标签,稍后用 检索或搜索。  View.getTag()View.findViewWithTag()
android:textAlignment定义文本的对齐方式。 
android:textDirection定义文本的方向。 
android:theme指定视图的主题覆盖。 
android:tooltipText定义悬停或长按时在小弹出窗口中显示的文本。 
android:transformPivotXx 视图将围绕其旋转和缩放的轴心点的位置。 
android:transformPivotY视图将围绕其旋转和缩放的轴心点的 y 位置。 
android:transitionName命名一个视图,以便它可以被识别为转换。 
android:translationX在视图的 x 中平移。 
android:translationY在视图的 y 中平移。 
android:translationZ在视图的 z 中平移。 
android:visibility控制视图的初始可见性。 

一.常用控件

1.TextView

XML 属性

android:allowUndo是否应允许对可编辑文本进行撤消。 
android:autoLink控制是否自动找到 url 和电子邮件地址等链接并将其转换为可点击的链接。 
android:autoSizeMaxTextSize自动调整文本大小时要使用的最大文本大小约束。 
android:autoSizeMinTextSize自动调整文本大小时要使用的最小文本大小约束。 
android:autoSizePresetSizes要与autoSizeTextTypeset to结合使用的维度的资源数组 uniform。 
android:autoSizeStepGranularity如果autoSizeTextType设置为 , 则指定自动调整步长uniform。 
android:autoSizeTextType指定自动调整大小的类型。 
android:autoText如果设置,则指定此 TextView 具有文本输入法并自动更正一些常见的拼写错误。 
android:breakStrategy中断策略(控制段落布局)。 
android:bufferType确定 getText() 将返回的最小类型。 
android:capitalize如果设置,则指定此 TextView 具有文本输入法并应自动将用户键入的内容大写。 
android:cursorVisible使光标可见(默认)或不可见。 
android:digits如果设置,则指定此 TextView 具有数字输入法,并且这些特定字符是它将接受的字符。 
android:drawableBottom要在文本下方绘制的可绘制对象(图片)。 
android:drawableEnd要绘制到文本末尾的可绘制对象(图片)。 
android:drawableLeft要绘制到文本左侧的可绘制对象(图片)。 
android:drawablePadding可绘制对象和文本之间的填充(图片)。 
android:drawableRight要绘制到文本右侧的可绘制对象(图片)。 
android:drawableStart要绘制到文本开头的可绘制对象(图片)。 
android:drawableTint应用于复合(左侧、顶部等)可绘制对象的色调(图片)。 
android:drawableTintMode混合模式用于应用复合(左侧、顶部等)可绘制色调(图片)。 
android:drawableTop要在文本上方绘制的可绘制对象(图片)。 
android:editable如果设置,则指定此 TextView 具有输入法。 
android:editorExtras<input-extras> 包含要提供给输入法的附加数据的XML 资源的引用,该 资源对输入法的实现是私有的。 
android:elegantTextHeight优雅的文本高度,特别是对于不太紧凑的复杂脚本文本。 
android:ellipsize如果设置,会导致长于视图宽度的单词被椭圆化而不是在中间断开。 
android:ems使 TextView 正好有这么多 em 宽。 
android:enabled指定是否启用小部件。 
android:fallbackLineSpacing是否尊重用于显示文本的回退字体的上升和下降。 
android:firstBaselineToTopHeight从 TextView 顶部到第一个文本基线的距离。 
android:fontFamily文本的字体系列(由字符串命名或作为字体资源参考)。 
android:fontFeatureSettings字体功能设置。 
android:fontVariationSettings字体变化设置。 
android:freezesText如果设置,除了元数据(例如当前光标位置)之外,文本视图将在其冻结的冰柱内包含其当前的完整文本。 
android:gravity指定当文本小于视图时如何通过视图的 x 和/或 y 轴对齐文本。 
android:height使 TextView 正好是这个高度。 
android:hint当文本(输入框)为空时显示的提示文本。 
android:hyphenationFrequency自动断字的频率。 
android:imeActionId提供 当输入法连接到文本视图时使用的值 。  EditorInfo.actionId
android:imeActionLabel提供 当输入法连接到文本视图时使用的值 。  EditorInfo.actionLabel
android:imeOptions您可以在与编辑器关联的 IME 中启用的其他功能,以改进与您的应用程序的集成。 
android:includeFontPadding为上升和下降留出足够的空间,而不是严格使用字体上升和下降。 
android:inputMethod如果设置,则指定此 TextView 应使用指定的输入法(由完全限定的类名指定)。 
android:inputType放置在文本字段中的数据类型,用于帮助输入法决定如何让用户输入文本。 
android:justificationMode论证模式。 
android:lastBaselineToBottomHeightTextView 底部到最后一个文本基线的距离。 
android:letterSpacing文本字母间距。 
android:lineHeight文本行之间的显式高度。 
android:lineSpacingExtra文本行之间的额外间距。 
android:lineSpacingMultiplier文本行之间的额外间距,作为乘数。 
android:lines使 TextView 正好是这么多行高。 
android:linksClickable如果设置为 false,即使自动链接导致找到链接,也不会将移动方法设置为链接移动方法。 
android:marqueeRepeatLimit重复选取框动画的次数。 
android:maxEms使 TextView 最多有这么多 em 宽。 
android:maxHeight使 TextView 最多有这么多像素高。 
android:maxLength设置输入过滤器以将文本长度限制为指定的数字。 
android:maxLines使 TextView 最多有这么多行高。 
android:maxWidth使 TextView 最多有这么多像素宽。 
android:minEms使 TextView 至少有这么多 em 宽。 
android:minHeight使 TextView 至少有这么多像素高。 
android:minLines使 TextView 至少有这么多行高。 
android:minWidth使 TextView 至少有这么多像素宽。 
android:numeric如果设置,则指定此 TextView 具有数字输入法。 
android:password字段的字符是否显示为密码点而不是本身。 
android:phoneNumber如果设置,则指定此 TextView 具有电话号码输入法。 
android:privateImeOptions提供给附加到文本视图的输入法的附加内容类型描述,这是输入法的实现私有的。 
android:scrollHorizontally是否允许文本比视图更宽(因此可以水平滚动)。 
android:selectAllOnFocus如果文本是可选的,则在视图获得焦点时将其全部选中。 
android:shadowColor在文本下方放置一个模糊的文本阴影,用指定的颜色绘制。 
android:shadowDx文本阴影的水平偏移。 要和(android:shadowRadius)配合使用单独使用没有效果
android:shadowDy文本阴影的垂直偏移。 要和(android:shadowRadius)配合使用单独使用没有效果
android:shadowRadius文本阴影的模糊半径。 
android:singleLine将文本限制单行显示超出部分...显示 
android:text要显示的文本。 
android:textAllCaps以全部大写形式呈现文本。 
android:textAppearance基本文本颜色、字体、大小和样式。 
android:textColor文字颜色。 
android:textColorHighlight文本选择突出显示的颜色。 
android:textColorHint提示文本的颜色。 
android:textColorLink链接的文本颜色。 
android:textCursorDrawable对将在插入光标下绘制的可绘制对象的引用。 
android:textFontWeightTextView 中使用的字体的粗细。 
android:textIsSelectable表示可以选择不可编辑文本的内容。 
android:textScaleX设置文本的水平比例因子。 
android:textSelectHandle对可绘制对象的引用,该对象将用于显示文本选择锚以在文本中定位光标。 
android:textSelectHandleLeft对将用于在选择区域左侧显示文本选择锚点的可绘制对象的引用。 
android:textSelectHandleRight对将用于在选择区域右侧显示文本选择锚点的可绘制对象的引用。 
android:textSize文本的大小。 
android:textStyle文本的样式(正常、粗体、斜体、粗体|斜体)。 
android:typeface文本的字体(正常、无衬线、衬线、等宽)。 
android:width使 TextView 正好是这个宽度。 

案例1:跑马灯效果,文字横向滚动

第一个是要单行显示
第二个是单行显示多余部分如何显示,即 ellipsize 属性的设置
第三个是获取焦点
第四个是走马灯重复次数

 <TextView
       
        android:singleLine="true"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"
        >
        <!--触发焦点-->
    <requestFocus/>
    </TextView>

button控件

文档

button继承TextView

自定义背景

如果要真正重新定义按钮的外观,可以指定自定义背景。不过,您的背景应该是根据按钮的当前状态来更改外观的状态列表资源,而不是提供简单的位图或颜色。

您可以在 XML 文件中定义状态列表,并在其中定义三种不同的图片或颜色,供不同的按钮状态使用。

如需为按钮背景创建状态列表可绘制资源,请执行以下操作:

  1. 为按钮背景创建三个位图,分别表示以下按钮状态:默认、按下和聚焦

    为确保您提供的图片适合各种尺寸的按钮,请以九宫格位图形式创建位图。

  2. 将位图放入项目的 res/drawable/ 目录中。请确保每个位图都具有适当的名称,以反映它们各自表示的按钮状态,例如 button_default.9.pngbutton_pressed.9.png 和 button_focused.9.png
  3.  res/drawable/ 目录中创建一个新的 XML 文件(将其命名为类似 buttondemo.xml 的名称)。插入以下 XML:

创建buttondemo

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_baseline_accessibility_24"
        android:state_pressed="true" />
    <item android:drawable="@drawable/ic_dashboard_black_24dp"
        android:state_focused="true" />
    <item android:drawable="@drawable/ic_home_black_24dp" />
</selector>

这样可以定义单个可绘制资源,该资源将根据按钮的当前状态更改其图片。

  • 第一个 <item> 定义按下(激活)按钮后使用的位图。
  • 第二个 <item> 定义按钮处于聚焦状态时(使用轨迹球或方向键突出显示按钮时)使用的位图。
  • 第三个 <item> 定义按钮处于默认状态时(既未按下,也未聚焦时)使用的位图。

使用

  <Button
        android:layout_width="100dp"
        android:layout_height="145dp"
        android:text="button"
        android:background="@drawable/buttondemo">
        
    </Button>

 之所以你看不到三个状态是因为你用的是手机,且这个手机还是触屏筹集。如果你用个有轨迹球的手机就能看到那个focus状态了。正常,获得焦点,按下这三个状态都是不同的。之所以看不出focus状态,因为触屏设备的focus状态没办法单独出现,你不按就是normal,你按下就是press,pressed的优先级高于focus,按下就直接是pr……

button事件处理

查看文档

EditTex(输入框)

EditText继承ViewText

imageView

public class ImageView
extends View

XML 属性

android:adjustViewBounds如果您希望 ImageView 调整其边界以保留其可绘制对象的纵横比,则将此设置为 true。 
android:baseline此视图中基线的偏移量。 
android:baselineAlignBottom如果为 true,图像视图将基于其底部边缘基线对齐。 
android:cropToPadding如果为 true,图像将被裁剪以适合其填充。 
android:maxHeight为该视图提供最大高度的可选参数。 
android:maxWidth为该视图提供最大宽度的可选参数。 
android:scaleType设置图片缩放类型 
android:src设置一个 drawable 作为这个 ImageView 的内容。 
android:tint图像的着色颜色。 
android:tintMode用于应用图像色调的混合模式。 

 scaleType 参数

 

Progress Bar (进度条)

XML 属性

android:animationResolution动画帧之间的超时(以毫秒为单位)。 
android:indeterminate如果设置为true,则进度条不精确显示进度
android:indeterminateBehavior定义当进度达到最大值时不确定模式的行为方式。 
android:indeterminateDrawableDrawable 用于不确定模式。 
android:indeterminateDuration不确定动画的持续时间。 
android:indeterminateOnly仅限于不确定模式(状态保持进度模式将不起作用)。 
android:indeterminateTint应用于不确定进度指示器的色调。 
android:indeterminateTintMode混合模式用于应用不确定的进度指示器色调。 
android:interpolator设置不确定动画的加速度曲线。 
android:max定义最大值。 
android:maxHeight为该视图提供最大高度的可选参数。 
android:maxWidth为该视图提供最大宽度的可选参数。 
android:min定义最小值。 
android:minHeight
android:minWidth
android:mirrorForRtl定义在 RTL 模式下是否需要镜像关联的可绘制对象。 
android:progress定义默认进度值,介于 0 和最大值之间。 
android:progressBackgroundTint应用于进度指示器背景的色调。 
android:progressBackgroundTintMode混合模式用于应用进度指示器背景色调。 
android:progressDrawableDrawable 用于进度模式。 
android:progressTint应用于进度指示器的色调。 
android:progressTintMode混合模式用于应用进度指示器色调。 
android:secondaryProgress定义次要进度值,介于 0 和最大值之间。 
android:secondaryProgressTint应用于辅助进度指示器的色调。 
android:secondaryProgressTintMode混合模式用于应用辅助进度指示器色调。 

android系统自带提供的进度条  :style="@android:style/Widget.ProgressBar.Horizontal"

 <ProgressBar
      android:id="@+id/determinateBar"
      style="@android:style/Widget.ProgressBar.Horizontal"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:progress="25"/>

notification 通知

 

ToolBar 顶部标题栏

 

AlterDiaLog 弹出提示框 

 PopupWindow 弹框,可以放页面

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yzhSWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值