- android:id="@+id/xx"控件标识、标签、ID
- android:layout_margin=“10dp” 子控件与父控件之间距离10dp
- android:layout_marginLeft=“10dp” 子控件左边与父控件之间距离10dp
- android:layout_marginBottom=“10dp” 子控件下边与父控件之间距离10dp
- android:layout_marginTop=“10dp” 子控件上边与父控件之间距离10dp
- android:layout_marginRight=“10dp” 子控件右边与父控件之间距离10dp
- android:layout_gravity=“center” 子控件在父控件中的对齐方式
- android:layout_marginStart=“xx” 起始位置 等同于android:layout_marginLeft
- android:layout_marginEnd=“xx” 结束位置 等同于android:layout_marginRight
- android:layout_weight=“1” 权重
- android:layout_marginHorizontal=“xx” 等同于同时设置android:layout_marginLeft、android:layout_marginRight
- android:layout_marginVertical="xx"等同于同时设置 android:layout_marginTop、android:layout_marginBottom
- android:visibility="xx"控件是否可见
- android:gravity=“” 该控件中的显示控件或者显示的内容,对齐方式设置
- android:layout_width="wrap_content"设置控件的宽度
- android:layout_height="wrap_content"设置控件的高度
- android:text=“Hello World!” 设置控件显示的内容
- android:textSize=“xx” 设置控件字体大小
- android:textColor=“@color/black” 设置字体颜色
- android:padding=“xx” 设置父控件中显示的内容或者子控件,距父控件本身边距的距离大小(设置内边距)
- android:paddingLeft=“xx” 设置父控件中显示的内容或者子控件,设置左边到父控件左边界的距离
- android:paddingRight=“xx” 设置父控件中显示的内容或者子控件,设置右边到父控件右边界的距离
- android:paddingTop=“xx” 设置父控件中显示的内容或者子控件,设置上边到父控件上边界的距离
- android:paddingBottom=“xx” 设置父控件中显示的内容或者子控件,设置下边到父控件下边界的距离
- android:onClick=“xx” 注册控件的点击事件
- android:scaleX=“xx” 设置x轴缩放
- android:scaleY=“xx” 设置y轴缩放
- android:background=“@color/white” 设置控件背景颜色
- android:drawablePadding=“xx” 设置控件图片与内容之间的距离
- android:drawableLeft=“xx” 控件左边放置图片
- android:drawableRight=“xx” 控件右边放置图片
- android:drawableTop=“xx” 控件上边放置图片
- android:drawableBottom=“xx” 控件下边放置图片
- android:drawableStart="xx"控件开始放置图片
- android:drawableEnd="xx"控件结尾放置图片
- android:drawableTint="xx"设置图片上染色
- android:drawableTintMode=“xx” 色调绘制在可绘制对象的顶部
- android:textStyle=“xx” 设置默认文本字体样式
- android:textColorHint="xx"设置提示文本的颜色
- android:width="xx"使 TextView 正好是这个宽度
- android:hint="xx"设置文本为空时显示的提示文本
- android:tag="xx"设置控件标签
- android:ems=“xx” 设置控件宽度
- android:inputType="xx"设置文本输入内容的数据类型
- android:nestedScrollingEnabled="xx"指定此视图应允许在兼容视图中嵌套滚动
祖先视图
- android:scrollbarFadeDuration=“xx” 定义滚动条淡出所需的延迟(毫秒)
- android:alpha=“xx” 设置控件的alpha属性,作为介于0(完全透明)和1(完全不透明)之间的值
- android:autofillHints="xx"描述控件的内容,以便自动填充服务可以填充适当的 数据。 多个提示可以组合在逗号分隔的列表或字符串数组中意思是例如 电子邮件地址或邮政地址
- android:accessibilityHeading="xx"此控件是否为可访问性目的的标题
- android:accessibilityLiveRegion="xx"向辅助功能服务指示是否应在此控件将更改
- android:accessibilityPaneTitle="xx"此控件应作为窗格标题呈现给可访问性的标题
- android:accessibilityTraversalAfter="xx"设置在可访问性遍历中访问该视图之后的控件id。屏幕阅读器必须先访问另一个控件的内容,然后才能访问另一个控件的内容这个
- android:accessibilityTraversalBefore="xx"设置在可访问性遍历中访问此视图之前的控件的id。屏幕阅读器必须先访问该控件的内容,然后再访问该控件的内容它在前面
- android:allowUndo="xx”是否允许对可编辑文本执行撤消操作,默认为true
- android:autoLink="xx"控制是否删除URL和电子邮件地址等链接 自动找到并转换为可单击链接。默认值,值为“无”,禁用此功能
- android:autoSizeMaxTextSize="xx"自动调整文本大小时要使用的最大文本大小约束
- android:autoSizeMinTextSize="xx"自动调整文本大小时要使用的最小文本大小约束
- android:autoSizePresetSizes="xx"自动调整文本大小时要使用的预设大小
- android:autoSizeStepGranularity="xx"自动调整步长
- android:autoSizeTextType="xx"指定自动调整大小的类型。 请注意,EditText 不支持此功能,仅适用于 TextView。
- android:autofillHints="xx"描述控件的内容,以便自动填充服务可以填充适当的 数据。 多个提示可以组合在逗号分隔的列表或字符串数组中意思是例如 电子邮件地址或邮政地址
- android:imeActionId="xx"提供一个值 当输入法连接到文本视图时使用
- android:imeActionLabel=“xx” 提供一个值当输入法连接到文本视图时使用
- android:outlineAmbientShadowColor="xx"设置视图具有绘制的环境阴影的颜色或高程值
- android:backgroundTint=“xx” 应用于背景的色调
- android:backgroundTintMode="xx"用于应用背景色调的混合模式
- android:breakStrategy="xx"Break 策略(控制段落布局)
- android:bufferType="xx"缓冲区类型
- android:clickable=“xx” 是否可点击
- android:contentDescription="xx"内容描述
- android:contextClickable=""定义控件是否对上下文单击事件做出反应
- android:cursorVisible="xx"使光标可见(默认)或不可见
- android:defaultFocusHighlightEnabled="xx"此 View 在获得焦点时是否应使用默认焦点突出显示
- android:digits="xx"如果设置,则指定此 TextView 具有数字输入法并且这些特定的字符是它会接受
- android:duplicateParentState="xx"当这个属性设置为true时,视图获得它的可绘制状态(聚焦、压制等)来自其直接父级而不是自身
- android:editorExtras="xx"额外编辑
- android:elegantTextHeight=“xx” 优雅的文本高度,特别适合不太紧凑的复杂脚本文本
- android:elevation="xx"视图的基础 z 深度
- android:ellipsize="xx"在何处省略文本
- android:ems=“xx” 设置文本宽度
- android:enabled=“xx” 设置控件是否可以点击
- android:fadeScrollbars="xx"定义滚动条在不使用时是否淡出
- android:fadingEdge="xx"使用衰落边缘可能会带来显着的性能降级,应仅在应用程序要求时使用视觉设计,在 API 级别 14 中忽略此属性
- android:fadingEdgeLength="xx"定义淡入淡出边缘的长度
- android:fallbackLineSpacing="xx"是否尊重使用的fallback字体的上升和下降 显示文本。 如果为真,最终被使用的后备字体可能会增加使用它们的线路的上升和下降
- android:filterTouchesWhenObscured="xx"指定当视图的窗口被遮挡时是否过滤触摸,另一个可见的窗口。 设置为 true 时,视图不会接收触摸,每当视图窗口上方出现吐司、对话框或其他窗口时
- android:firstBaselineToTopHeight="xx"TextView 顶部到第一个文本基线的距离。 如果设置,这覆盖为 paddingTop 设置的值
- android:fitsSystemWindows="xx"布尔内部属性,根据系统窗口,例如状态栏。 如果为 true,则调整此视图的填充为系统窗口留出空间。仅当此视图在非嵌入式活动中时才会生效
- android:focusable="xx"控制视图是否可以获取焦点
- android:focusableInTouchMode="xx"控制视图在触摸模式下是否可以获取焦点
- android:focusedByDefault="xx"此视图是否为默认焦点视图
- android:fontFamily="xx"默认字体系列
- android:fontFeatureSettings="xx"字体功能设置
- android:fontVariationSettings="xx"字体变化设置
- android:forceDarkAllowed="xx"是否允许将强制黑暗功能应用于此主题
- android:forceHasOverlappingRendering="xx"此视图是否具有绘制时可能重叠的元素
- android:foreground="xx"定义可在内容上绘制的图形
- android:foregroundGravity="xx"定义应用于前景可绘制对象的重力。 重力默认值填写
- android:foregroundTint="xx"应用于前景的色调
- android:foregroundTintMode="xx"用于应用前景色调的混合模式
- android:freezesText="xx"如果设置,文本视图将包括其当前的完整文本,在它的冰冻冰柱里面除了元数据,比如当前光标位置。默认情况下,这是禁用的
- android:hapticFeedbackEnabled="xx"控制视图是否应具有触觉反馈的布尔值, 为长按等事件启用
- android:height="xx"使 TextView 达到这个高度
- android:hint="xx"文本为空时显示的提示文本
- android:hyphenationFrequency="xx"自动断字的频率
- android:imeOptions="xx"您可以在与编辑器关联的 IME 中启用的其他功能,改进与您的应用程序的集成
- android:importantForAccessibility="xx"描述此视图对于可访问性是否重要。如果它很重要,则视图会触发可访问性事件并且报告给查询屏幕的无障碍服务。 笔记: 虽然不推荐,但无障碍服务可能会决定 忽略该属性并对视图树中的所有视图进行操作
- android:importantForAutofill="xx"提示 Android 系统与此 View 关联的视图节点是否应为,包含在用于自动填充目的的视图结构中
- android:importantForContentCapture="xx"提示 Android 系统与此 View 关联的视图节点是否应为用于内容捕获目的
- android:includeFontPadding="xx"为上升和下降留出足够的空间,而不是严格使用字体上升和下降
- android:inputType="xx"输入类型
- android:isScrollContainer="xx"如果视图将用作滚动容器,则设置此项,这意味着 它可以调整大小以缩小其整个窗口,以便 将是输入法的空间。 如果没有设置,默认如果“滚动条”具有垂直滚动条,则值为真设置,否则为假
- android:justificationMode="xx"论证方式
- android:keepScreenOn="xx"控制视图的窗口是否应保持屏幕开启虽然可见
- android:keyboardNavigationCluster="xx"此视图是否是键盘导航集群的根
- android:labelFor="xx"指定此视图作为其标签的视图的 id可访问性目的。 例如,在 EditText 之前的 TextView UI 通常指定 EditText 中包含哪些信息。因此,TextView 是 EditText 的标签
- android:lastBaselineToBottomHeight="xx"从 TextView 底部到最后一个文本基线的距离。 如果设置,这 覆盖为 paddingBottom 设置的值
- android:layerType="xx"指定支持此视图的图层类型。 默认值为无
- android:layoutDirection="xx"定义布局图的方向
- android:letterSpacing="xx"文本字母间距
- android:lineHeight="xx"文本行之间的显式高度
- android:lines="xx"使 TextView 正好是这么多行高
- android:lineSpacingExtra="xx"文本行之间的额外间距
- android:lineSpacingMultiplier="xx"文本行之间的额外间距,作为乘数。 不会应用该值 对于最后一行文本
- android:linksClickable="xx"如果设置为 false,则不设置移动方法 链接移动方法,即使自动链接导致链接被发现
- android:longClickable="xx"定义此视图是否对长按事件作出反应
- android:marqueeRepeatLimit="xx"重复选取框动画的次数。 仅适用于TextView 启用了选取框
- android:maxEms="xx"设置 TextView 最大宽度
- android:maxHeight="xx"为该视图提供最大高度的可选参数
- android:maxLength="xx"设置最大长度
- android:maxLines="xx"当用于可编辑文本时,
inputType
属性的值必须为 结合 textMultiLine
标志应用 maxLines 属性
- android:maxWidth=“xx” 为该视图提供最大宽度的可选参数
- android:minEms="xx"设置 TextView 最小宽度
- android:minHeight="xx"设置TextView 最小高度
- android:minLines="xx"当用于可编辑文本时,
inputType
属性的值必须为结合 textMultiLine
标志应用 minLines 属性。
- android:minWidth="xx"为该视图提供最小宽度的可选参数
- android:nestedScrollingEnabled=“xx” 指定此视图应允许在兼容视图中嵌套滚动祖先视图。
- android:nextClusterForward=“xx” 定义下一个键盘导航群集,如果引用引用的视图不存在或是其一部分对于不可见的层次结构,{java.lang.RuntimeException}将在访问引用时产生
- android:nextFocusDown=“xx” 定义下一个焦点时要给予焦点的下一个视图{android.view.view#FOCUS_DOWN}如果引用引用的视图不存在或是其一部分对于不可见的层次结构,{java.lang.RuntimeException}将在访问引用时产生。
- android:nextFocusForward="xx"定义下一个焦点在下一个焦点时的视图 {android.view.View#FOCUS_FORWARD}如果引用引用了一个不存在的视图或它的一部分 一个不可见的层次结构,一个 {java.lang.RuntimeException}访问引用时将产生结果。
- android:nextFocusLeft=“xx” 定义下一个焦点在下一个焦点时的视图 {android.view.View#FOCUS_LEFT}。如果引用引用了一个不存在的视图或它的一部分 一个不可见的层次结构,一个 {java.lang.RuntimeException} 访问引用时将产生结果。
- android:nextFocusRight="xx"定义下一个焦点在下一个焦点时的视图 {android.view.View#FOCUS_RIGHT}如果引用引用了一个不存在的视图或它的一部分 一个不可见的层次结构,一个 {java.lang.RuntimeException} 访问引用时将产生结果。
- android:nextFocusUp=“xx” 定义下一个焦点在下一个焦点时的视图{android.view.View#FOCUS_UP} 如果引用引用了一个不存在的视图或它的一部分一个不可见的层次结构,一个 { java.lang.RuntimeException} 访问引用时将产生结果
- android:outlineProvider=“xx” ViewOutlineProvider 用于确定View 的Outline
- android:outlineSpotShadowColor="xx"设置当视图具有正 Z 或 高程值。默认情况下,阴影颜色为黑色。 一般来说,这种颜色是不透明的,所以不同颜色的不同视图之间的阴影强度是一致的。最终点阴影的不透明度是阴影投射高度的函数,outlineSpotShadowColor 的 alpha 通道(通常是不透明的),以及 {android.R.attr#spotShadowAlpha} 主题属性。
- android:overScrollMode=“xx” 定义过度滚动行为。 此属性仅在以下情况下使用视图是可滚动的。 过度滚动是用户能够 尝试滚动超出有意义的内容时收到反馈
- android:paddingEnd=“xx” 设置结束边缘的填充,以像素为单位;
- android:paddingHorizontal="xx"设置左右边缘的填充,以像素为单位; 此值将优先于paddingLeft 和 paddingRight,但不是 paddingStart 或 paddingEnd(如果设置)
- android:paddingStart="xx"设置起始边缘的填充,以像素为单位
- android:paddingVertical=“xx” 设置顶部和底部边缘的填充,以像素为单位; 此值将优先于 paddingTop 和 paddingBottom,如果设置
- android:pointerIcon="xx"指针图标
- android:privateImeOptions="xx"提供给输入的附加内容类型描述 附加到文本视图的方法,这是私有的 输入法的实现。 这只是填写 {android.view.inputmethod.EditorInfo#privateImeOptions EditorInfo.privateImeOptions} 字段时输入 方法相连。
- android:requiresFadingEdge=“xx” 定义滚动时应淡化哪些边缘
- android:rotation="xx"视图的旋转,以度为单位
- android:rotationX="xx"视图围绕 x 轴的旋转,以度为单位
- android:rotationY="xx"围绕 y 轴的视图旋转,以度为单位
- android:saveEnabled="xx"如果为false,则此视图在执行时不会保存任何状态冻结。 默认为true,允许保存视图(但是,它也必须为其分配一个 ID要保存的状态)。 将此设置为 false 只会禁用陈述这个观点,而不是它的孩子,它可能仍然得救
- android:scaleX=“xx” x方向的视图比例
- android:scaleY=“xx” y方向视图的比例
- android:screenReaderFocusable="xx"屏幕阅读器可访问性是否应将此视图视为可聚焦单元工具
- android:scrollbarAlwaysDrawHorizontalTrack="xx"定义是否应始终绘制水平滚动条轨道
- android:scrollbarAlwaysDrawVerticalTrack="xx"定义是否应始终绘制垂直滚动条轨道
- android:scrollbarDefaultDelayBeforeFade="xx"定义滚动条在淡出之前等待的延迟(以毫秒为单位)
- android:scrollbarFadeDuration="xx"定义滚动条淡出所需的延迟(以毫秒为单位)
- android:scrollbars="xx"定义哪些滚动条应该在滚动时显示或不显示
- android:scrollbarSize="xx"设置垂直滚动条的宽度和水平滚动条的高度
- android:scrollbarStyle="xx"控制滚动条的样式和位置。 滚动条可以被覆盖或插图。 插入时,它们会添加到视图的填充中。 而滚动条可以绘制在填充区域内或边缘 风景。 例如,如果一个视图有一个可绘制的背景并且你想要在指定的填充内绘制滚动条drawable,你可以使用 insideOverlay 或 insideInset。 如果你想要他们出现在视图的边缘,忽略填充,然后你可以 使用 externalOverlay 或 externalInset
- android:scrollbarThumbHorizontal="xx"定义水平滚动条拇指可绘制
- android:scrollbarThumbVertical="xx"定义垂直滚动条拇指可绘制
- android:scrollbarTrackHorizontal="xx"定义可绘制的水平滚动条轨道
- android:scrollbarTrackVertical="xx"定义可绘制的垂直滚动条轨道
- android:scrollHorizontally="xx"是否允许文本比视图更宽(和因此可以水平滚动)
- android:scrollIndicators="xx"定义当视图显示时应显示哪些滚动指示器 可以滚动。 可以使用逻辑 OR 组合多个值,例如“顶部|底部”
- android:scrollX="xx"初始水平滚动偏移量,以像素为单位
- android:scrollY="xx"初始垂直滚动偏移量,以像素为单位
- android:selectAllOnFocus="xx"如果文本是可选的,则在视图需要时将其全部选中重点
- android:shadowColor="xx"在文本下方放置一个模糊的文本阴影,使用指定颜色
- android:shadowDx="xx"文本阴影的水平偏移
- android:shadowDy="xx"文本阴影的垂直偏移
- android:shadowRadius="xx"文本阴影的模糊半径
- android:soundEffectsEnabled="xx"布尔值,控制视图是否应具有声音效果 为点击和触摸等事件启用
- android:stateListAnimator="xx"为视图设置基于状态的动画器
- android:tag="xx"为该视图提供一个包含字符串的标签,以进行检索 稍后使用 {android.view.View#getTag View.getTag()} 或使用 {android.view.View#findViewWithTag 搜索 View.findViewWithTag()}。 通常最好使用 ID(通过 android:id 属性)而不是标签,因为 它们更快并且允许编译时类型检查
- android:textAlignment=“xx” 定义文本的对齐方式
- android:textAllCaps="xx"以全部大写形式呈现文本。 这可能会在可用时使用小型大写形式。
- android:textAppearance="xx"文本的默认外观:颜色、字体、大小和样式
- android:textColorHighlight="xx"突出显示文本的颜色
- android:textColorHint="xx"提示文字的颜色(当字段为空时显示)
- android:textColorLink="xx"链接文本(URL)的颜色
- android:textCursorDrawable="xx"对将在插入光标下绘制的可绘制对象的引用
- android:textDirection="xx"定义文本的方向
- android:textEditNoPasteWindowLayout="xx"剪贴板为空时显示的 textEditPasteWindowLayout 的变化
- android:textEditPasteWindowLayout="xx"显示在光标顶部以粘贴到内部的视图布局文本编辑字段
- android:textEditSideNoPasteWindowLayout="xx"剪贴板为空时显示的 textEditSidePasteWindowLayout 的变化
- android:textEditSidePasteWindowLayout="xx"当窗口移动到窗口的一侧时,代替 textEditPasteWindowLayout 使用插入光标,因为如果它位于顶部会被剪裁
- android:textEditSuggestionItemLayout="xx"将填充建议弹出窗口的 TextView 项目的布局
- android:textFontWeight="xx"TextView 中使用的字体的粗细
- android:textIsSelectable="xx"指示可以选择不可编辑文本视图的内容。默认值为false。编辑文本内容始终是可选择的
- android:textLocale="xx"为文本指定 {android.os.LocaleList}。可能是字符串值,是逗号分隔的语言标签列表,如“ja-JP,zh-CN”。当未指定或给出空字符串时,它将回退到默认值。 {android.os.LocaleList#forLanguageTags(String)}
- android:textScaleX="xx"设置文本的水平缩放因子
- android:textSelectHandle="xx"对用于显示文本选择的可绘制对象的引用,用于在文本中定位光标的锚点
- android:textSelectHandleLeft="xx"对用于显示文本选择的可绘制对象的引用 选择区域左侧的锚点
- android:textSelectHandleRight="xx"对用于显示文本选择的可绘制对象的引用 锚定在选择区域的右侧
- android:textStyle="xx"默认文本字体样式
- android:theme="xx"用于活动的整体主题。 与 应用程序标签(为所有活动提供默认主题)或 活动标签(为该活动提供特定主题)。
这会自动设置您的活动的上下文使用此主题,也可能会使用用于在启动活动之前的“启动”动画(以更好地匹配活动的实际外观)。 这是一个参考 到定义主题的样式资源。 如果没有设置,默认 将使用系统主题
- android:tooltipText="xx"定义悬停或长按时在小弹出窗口中显示的文本
- android:transformPivotX="xx"x 视图将围绕其旋转和缩放的轴心点的位置。 这个xml属性设置了View的pivotX属性
- android:transformPivotY="xx"视图将围绕其旋转和缩放的轴心点的 y 位置。此 xml 属性设置视图的 pivotY 属性
- android:transitionName="xx"命名一个视图,以便它可以被识别为转换。 名字应该是在视图层次结构中是独一无二的
- android:translationX="xx"在视图的 x 中平移。 此值在布局后添加到左侧视图的属性,由其布局设置
- android:translationY="xx"在视图的 y 中平移。 此值在布局后添加到顶部视图的属性,由其布局设置
- android:translationZ="xx"在视图的 z 中平移。 这个值被添加到它的高程
- android:typeface="xx"默认文本字体
- android:verticalScrollbarPosition="xx"确定垂直滚动条应该放在哪一侧
- android:width="xx"使 TextView 正好是这个宽度。您可以通过在布局参数
- android:autoText="xx"如果设置,则指定此 TextView 具有文本输入法 并自动纠正一些常见的拼写错误。默认值为“假”。
- android:capitalize="xx"如果设置,则指定此 TextView 具有文本输入法并且应该自动大写用户输入的内容。默认值为“无”。
- android:drawingCacheQuality="xx"定义半透明绘图缓存的质量。 这个属性被使用 仅当绘图缓存已启用且半透明时。 默认值为自动。 已弃用:随着引入API 11 中的硬件加速渲染。
- android:editable="xx"如果设置,则指定此 TextView 具有输入法。除非另有说明,否则它将是文本文件。对于 TextView,默认为 false。 对于 EditText,它是 默认为真。
- android:inputMethod="xx"如果设置,则指定此 TextView 应使用指定的 输入法(由完全限定的类名指定)。
- android:numeric="xx"如果设置,则指定此 TextView 具有数字输入法。默认值为假。
- android:password="xx"字段的字符是否显示为 密码点而不是他们自己。
- android:phoneNumber="xx"如果设置,则指定此 TextView 具有电话号码输入方法。 默认值为假。
- android:singleLine="xx"将文本限制为单个水平滚动行 而不是让它包裹在多行上,然后前进 当您按下时焦点而不是插入换行符回车键。对于不可编辑的文本,默认值为 false(多行换行文本模式),但如果
为 inputType 指定任何值,默认为 true(单行输入字段模式)。{@deprecated 此属性已弃用。 改用 maxLines
来改变静态文本的布局,并使用 textMultiLine
标志在 inputType 属性代替可编辑文本视图(如果 singleLine 和 inputType提供,inputType 标志将覆盖 singleLine 的值) }
- tools:targetApi="xx"目标 Api
TextView动态添加
public class MainActivity extends AppCompatActivity {
private LinearLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initData();
}
private void initView() {
layout=findViewById(R.id.text_layout);
}
private void initData() {
for (int i=0;i<10;i++){
TextView textView=new TextView(this);
textView.setText("测试"+i);
textView.setTextColor(Color.RED);
textView.setTextSize(30f);
textView.setGravity(Gravity.CENTER);
LinearLayout.LayoutParams layoutParam= new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParam.setMargins(0, 10, 0, 0);
textView.setLayoutParams(layoutParam);
layout.addView(textView);
}
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/text_layout"
android:gravity="center"
tools:context=".MainActivity">
LinearLayout>
TextView 自定义
package com.example.text;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import androidx.annotation.Nullable;
public class CustomTextView extends View {
Paint paint;
public CustomTextView(Context context) {
super(context);
Log.i("CustomTextView","1个参数");
}
public CustomTextView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
Log.i("CustomTextView","2个参数");
}
public CustomTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
Log.i("CustomTextView","3个参数");
}
public CustomTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
Log.i("CustomTextView","4个参数");
}
@Override
protected void onFinishInflate() {
super.onFinishInflate();
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
initPaint();
canvas.drawText("测试",getWidth()/2,getHeight()/2,paint);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return super.onKeyUp(keyCode, event);
}
@Override
public boolean onTrackballEvent(MotionEvent event) {
return super.onTrackballEvent(event);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
@Override
protected void onFocusChanged(boolean gainFocus, int direction, @Nullable Rect previouslyFocusedRect) {
super.onFocusChanged(gainFocus, direction, previouslyFocusedRect);
}
@Override
public void onWindowFocusChanged(boolean hasWindowFocus) {
super.onWindowFocusChanged(hasWindowFocus);
}
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
}
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
}
@Override
protected void onWindowVisibilityChanged(int visibility) {
super.onWindowVisibilityChanged(visibility);
}
private void initPaint(){
paint=new Paint();
paint.setAlpha(100);
paint.setColor(Color.RED);
paint.setAntiAlias(true);
paint.setTextSize(100f);
}
}