文本和颜色定义
string.xml
color.xml
Android中所有控件都继承自android.view.View
一.常用控件
1.TextView
XML 属性 | |
---|---|
android:allowUndo | 是否应允许对可编辑文本进行撤消。 |
android:autoLink | 控制是否自动找到 url 和电子邮件地址等链接并将其转换为可点击的链接。 |
android:autoSizeMaxTextSize | 自动调整文本大小时要使用的最大文本大小约束。 |
android:autoSizeMinTextSize | 自动调整文本大小时要使用的最小文本大小约束。 |
android:autoSizePresetSizes | 要与autoSizeTextType set 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:lastBaselineToBottomHeight | TextView 底部到最后一个文本基线的距离。 |
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:textFontWeight | TextView 中使用的字体的粗细。 |
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 文件中定义状态列表,并在其中定义三种不同的图片或颜色,供不同的按钮状态使用。
如需为按钮背景创建状态列表可绘制资源,请执行以下操作:
- 为按钮背景创建三个位图,分别表示以下按钮状态:默认、按下和聚焦。
为确保您提供的图片适合各种尺寸的按钮,请以九宫格位图形式创建位图。
- 将位图放入项目的
res/drawable/
目录中。请确保每个位图都具有适当的名称,以反映它们各自表示的按钮状态,例如button_default.9.png
、button_pressed.9.png
和button_focused.9.png
。 - 在
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:indeterminateDrawable | Drawable 用于不确定模式。 |
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:progressDrawable | Drawable 用于进度模式。 |
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 弹框,可以放页面