TextView是Android中最常用的UI组件之一,用于在应用程序中显示文本。它提供了一些公开方法来设置和操作文本的显示方式。以下是一些常用的公开方法和它们的功能,以及示例代码:
1. setText(CharSequence text)
功能:设置文本内容。
示例:
TextView textView = new TextView(this);
textView.setText("Hello World!");
2. setText(int resId)
功能:设置文本内容为字符串资源。
示例:
TextView textView = new TextView(this);
textView.setText(R.string.hello_world);
3. setTextColor(int color)
功能:设置文本颜色。
示例:
TextView textView = new TextView(this);
textView.setTextColor(Color.RED);
4. setTextSize(float size)
功能:设置文本字体大小。
示例:
TextView textView = new TextView(this);
textView.setTextSize(20);
5. setTypeface(Typeface typeface)
功能:设置字体样式。
示例:
TextView textView = new TextView(this);
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf");
textView.setTypeface(typeface);
6. setGravity(int gravity)
功能:设置文本的对齐方式。
示例:
TextView textView = new TextView(this);
textView.setGravity(Gravity.CENTER);
7. setLines(int lines)
功能:设置文本显示的行数。
示例:
TextView textView = new TextView(this);
textView.setLines(3);
8. setLineSpacing(float spacingMultiplier, float additionalSpacing)
功能:设置行间距。第一个参数是乘数,第二个参数是额外的间距。
示例:
TextView textView = new TextView(this);
textView.setLineSpacing(1.2f, 10);
9. setMovementMethod(MovementMethod movementMethod)
功能:设置文本可以滚动的方式。
示例:
TextView textView = new TextView(this);
textView.setMovementMethod(ScrollingMovementMethod.getInstance());
10. setSelected(boolean selected)
功能:设置是否选中TextView。
示例:
TextView textView = new TextView(this);
textView.setSelected(true);
11. setEditable(boolean editable)
功能:设置是否可编辑。
示例:
TextView textView = new TextView(this);
textView.setEditable(false);
12. setBackgroundColor(int color)
功能:设置背景颜色。
示例:
TextView textView = new TextView(this);
textView.setBackgroundColor(Color.BLUE);
13. setBackgroundResource(int resId)
功能:设置背景图片资源。
示例:
TextView textView = new TextView(this);
textView.setBackgroundResource(R.drawable.background_image);
14. setBackground(Drawable background)
功能:设置背景图片。
示例:
TextView textView = new TextView(this);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.background_image);
Drawable d = new BitmapDrawable(getResources(), bitmap);
textView.setBackground(d);
15. setLayoutParams(LayoutParams layoutParams)
功能:设置布局参数。
示例:
TextView textView = new TextView(this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
textView.setLayoutParams(layoutParams);
16. setPadding(int left, int top, int right, int bottom)
功能:设置内边距。
示例:
TextView textView = new TextView(this);
textView.setPadding(10, 20, 30, 40);
17. setTextAlignment(int alignment)
功能:设置文本对齐方式。
示例:
TextView textView = new TextView(this);
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
18. setHorizontalFadingEdgeEnabled(boolean enabled)
功能:设置是否显示水平滚动条。
示例:
TextView textView = new TextView(this);
textView.setHorizontalFadingEdgeEnabled(true);
19. setVerticalFadingEdgeEnabled(boolean enabled)
功能:设置是否显示垂直滚动条。
示例:
TextView textView = new TextView(this);
textView.setVerticalFadingEdgeEnabled(true);
20. setFadingEdgeLength(int length)
功能:设置滚动条的长度。
示例:
TextView textView = new TextView(this);
textView.setFadingEdgeLength(50);
21. setShadowLayer(float radius, float dx, float dy, int color)
功能:设置文本的阴影效果。
示例:
TextView textView = new TextView(this);
textView.setShadowLayer(2.0f, 0.0f, 0.0f, Color.BLACK);
22. setElegantTextHeight(boolean elegant)
功能:设置是否启用优雅的文本高度。
示例:
TextView textView = new TextView(this);
textView.setElegantTextHeight(true);
23. setLetterSpacing(float letterSpacing)
功能:设置字母间的间距。
示例:
TextView textView = new TextView(this);
textView.setLetterSpacing(1.0f);
24. setAutoLinkMask(int mask)
功能:自动将URL、电话号码等链接识别为可点击的链接。
示例:
TextView textView = new TextView(this);
textView.setAutoLinkMask(Linkify.ALL);
25. setLinksClickable(boolean clickable)
功能:设置是否可以点击链接。
示例:
TextView textView = new TextView(this);
textView.setLinksClickable(true);
26. setMovementMethod(LinkMovementMethod movementMethod)
功能:设置文本可以点击链接的方式。
示例:
TextView textView = new TextView(this);
textView.setMovementMethod(LinkMovementMethod.getInstance());
27. setTextToHtml(String html)
功能:将HTML格式的文本转换为TextView显示的文本。
示例:
TextView textView = new TextView(this);
textView.setTextToHtml("<font color='red'>Hello World!</font>");
28. setText(CharSequence text, TextView.BufferType bufferType)
功能:设置文本内容,并指定缓冲类型。
示例:
TextView textView = new TextView(this);
textView.setText(Html.fromHtml("<font color='red'>Hello World!</font>"), TextView.BufferType.SPANNABLE);
29. setInputMethodMode(int mode)
功能:设置输入模式。
示例:
TextView textView = new TextView(this);
textView.setInputMethodMode(InputMethodMode.atsch盘中用餐);
30. set箍灵力requestFocus()
功能:请求焦点。
示例:
TextView textView = new TextView(this);
textView.requestFocus();
31. setSelected(boolean selected)
功能:设置是否被选中。
示例:
TextView textView = new TextView(this);
textView.setSelected(true);
32. setLines(int lines)
功能:设置显示的行数。
示例:
TextView textView = new TextView(this);
textView.setLines(5);
33. setLineSpacing(float spacingMultiplier, float additionalSpacing)
功能:设置行间距。第一个参数是乘数,第二个参数是额外的间距。
示例:
TextView textView = new TextView(this);
textView.setLineSpacing(1.2f, 10);
34. setMinimumWidth(int minWidht)
功能:设置最小宽度。
示例:
TextView textView = new TextView(this);
textView.setMinimumWidth(100);
35. setMinimumHeight(int minHeight)
功能:设置最小高度。
示例:
TextView textView = new TextView(this);
textView.setMinimumHeight(50);
36. setElegantTextHeight(boolean elegant)
功能:设置是否启用优雅的文本高度。
示例:
TextView textView = new TextView(this);
textView.setElegantTextHeight(true);
37. setTextSize(int unit, float size)
功能:设置文本字体大小,第一个参数是单位(例如:TypedValue.COMPLEX_UNIT_SP 表示 scaled pixels)。
示例:
TextView textView = new TextView(this);
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
38. setTypeface(Typeface typeface)
功能:设置字体样式。
示例:
TextView textView = new TextView(this);
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf");
textView.setTypeface(typeface);
39. setTypeface(Typeface typeface, int style)
功能:设置字体样式和风格。
示例:
TextView textView = new TextView(this);
Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf");
textView.setTypeface(typeface, Typeface.BOLD_ITALIC);
40. setHintTextColor(int color)
功能:设置提示文本的颜色。
示例:
TextView textView = new TextView(this);
textView.setHintTextColor(Color.RED);
41. setHintTextColor(ColorStateList color)
功能:设置提示文本的颜色,根据不同的状态(例如:焦点、不可见、选中)使用不同的颜色。
示例:
TextView textView = new TextView(this);
ColorStateList colorStateList = new ColorStateList(new int[][]{{0, Color.RED}, {-1, Color.BLUE}}, new int[]{Color.RED, Color.BLUE});
textView.setHintTextColor(colorStateList);
42. setCursorVisible(boolean visible)
功能:设置光标是否可见。
示例:
TextView textView = new TextView(this);
textView.setCursorVisible(true);
43. setKeyListener(KeyListener listener)
功能:设置键盘监听器,用于处理用户输入。
示例:
TextView textView = new TextView(this);
textView.setKeyListener(DigitsKeyListener.getInstance());
44. setRawInputType(int type)
功能:设置原始输入类型,用于处理特殊输入(例如:数字、密码等)。
示例:
TextView textView = new TextView(this);
textView.setRawInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
45. setInputType(int type)
功能:设置输入类型,用于处理用户输入。
示例:
TextView textView = new TextView(this);
textView.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
46. setFilters(InputFilter[] filters)
功能:设置输入过滤器,用于对用户输入进行校验和转换。
示例:
TextView textView = new TextView(this);
InputFilter[] filters = new InputFilter[]{new InputFilter.LengthFilter(10)};
textView.setFilters(filters);
47. setInputFilter(InputFilter filter)
功能:设置输入过滤器。
示例:
TextView textView = new TextView(this);
InputFilter filter = new InputFilter.LengthFilter(10);
textView.setInputFilter(filter);
48. setImeOptions(int imeOptions)
功能:设置输入法提示选项。
示例:
TextView textView = new TextView(this);
textView.setImeOptions(EditorInfo.IME_ACTION_DONE);
49. setImeActionLabel(CharSequence label, int actionId)
功能:设置输入法提示的操作标签和动作ID。
示例:
TextView textView = new TextView(this);
textView.setImeActionLabel("完成", EditorInfo.IME_ACTION_DONE);
50. setInputExtras(int type, Bundle extras)
功能:为输入类型设置额外的数据。
示例:
TextView textView = new TextView(this);
Bundle bundle = new Bundle();
bundle.putInt("inputType", InputType.TYPE_CLASS_TEXT);
textView.setInputExtras(InputType.TYPE_CLASS_TEXT, bundle);
51. setTransformationMethod(TransformationMethod method)
功能:设置文本转换方法。
示例:
TextView textView = new TextView(this);
textView.setTransformationMethod(new PasswordTransformationMethod());
52. setGravity(int gravity)
功能:设置文本的对齐方式和布局方式。
示例:
TextView textView = new TextView(this);
textView.setGravity(Gravity.CENTER);
53. setTextAlignment(int alignment)
功能:设置文本的对齐方式。
示例:
TextView textView = new TextView(this);
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
54. setAutoLinkMask(int mask)
功能:设置自动链接的类型。
示例:
TextView textView = new TextView(this);
textView.setAutoLinkMask(Linkify.ALL);
55. setLinkTextColor(int color)
功能:设置链接文本的颜色。
示例:
TextView textView = new TextView(this);
textView.setLinkTextColor(Color.RED);
56. setLinkTextColor(ColorStateList color)
功能:设置链接文本的颜色,根据不同的状态使用不同的颜色。
示例:
TextView textView = new TextView(this);
ColorStateList colorStateList = new ColorStateList(new int[][]{{0, Color.RED}, {-1, Color.BLUE}}, new int[]{Color.RED, Color.BLUE});
textView.setLinkTextColor(colorStateList);
57. setDrawables(int resId)
功能:设置可绘制图片的资源ID。
示例:
TextView textView = new TextView(this);
textView.setDrawables(R.drawable.ic_launcher);
58. setCompoundDrawablesWithIntrinsicBounds(int left, int top, int right, int bottom)
功能:设置文本左右两边的图标,并设置图标的边界。
示例:
TextView textView = new TextView(this);
textView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_launcher, 0, 0, 0);
59. setCompoundDrawablePadding(int pad)
功能:设置文本左右两边的图标间距。
示例:
TextView textView = new TextView(this);
textView.setCompoundDrawablePadding(10);
60. setCompoundDrawablePadding(int left, int top, int right, int bottom)
功能:设置文本左右两边的图标间距和边界。
示例:
TextView textView = new TextView(this);
textView.setCompoundDrawablePadding(10, 20, 30, 40);
61. setCompoundDrawablePadding(Drawable drawable)
功能:设置文本左右两边的图标和Drawable对象,并设置图标的边界。
示例:
Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher);
TextView textView = new TextView(this);
textView.setCompoundDrawablePadding(drawable);
62. setCompoundDrawablePadding(Drawable left, Drawable top, Drawable right, Drawable bottom)
功能:设置文本左右两边的图标和Drawable对象,并设置图标的边界。
示例:
Drawable left = getResources().getDrawable(R.drawable.ic_launcher);
Drawable top = null;
Drawable right = null;
Drawable bottom = null;
TextView textView = new TextView(this);
textView.setCompoundDrawablePadding(left, top, right, bottom);
63. setCompoundDrawables(Drawable left, Drawable top, Drawable right, Drawable bottom)
功能:设置文本左右两边的图标。
示例:
Drawable left = getResources().getDrawable(R.drawable.ic_launcher);
Drawable top = null;
Drawable right = null;
Drawable bottom = null;
TextView textView = new TextView(this);
textView.setCompoundDrawables(left, top, right, bottom);
64. setCompoundDrawablesRelative(Drawable start, Drawable top, Drawable end, Drawable bottom)
功能:设置文本左右两边的图标,以相对位置排列。
示例:
Drawable start = getResources().getDrawable(R.drawable.ic_launcher);
Drawable top = null;
Drawable end = null;
Drawable bottom = null;
TextView textView = new TextView(this);
textView.setCompoundDrawablesRelative(start, top, end, bottom);
65. setCompoundDrawablesWithIntrinsicBounds(int left, int top, int right, int bottom)
功能:设置文本左右两边的图标,并设置图标的边界。
示例:
TextView textView = new TextView(this);
textView.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_launcher, 0, 0, 0);
66. setCompoundDrawableTint(int tint)
功能:设置图标的颜色滤镜。
示例:
TextView textView = new TextView(this);
textView.setCompoundDrawableTint(Color.RED);
67. setCompoundDrawableTintList(ColorStateList tint)
功能:设置图标的颜色滤镜,根据不同的状态使用不同的颜色滤镜。
示例:
TextView textView = new TextView(this);
ColorStateList tintStateList = new ColorStateList(new int[][]{{0, Color.RED}, {-1, Color.BLUE}}, new int[]{Color.RED, Color.BLUE});
textView.setCompoundDrawableTintList(tintStateList);
68. setCompoundDrawableTintMode(PorterDuff.Mode tintMode)
功能:设置图标的颜色滤镜模式。
示例:
TextView textView = new TextView(this);
textView.setCompoundDrawableTintMode(PorterDuff.Mode.SRC_OVER);
69. setCompoundDrawableTintList(Drawable drawable, ColorStateList tint)
功能:设置图标的颜色滤镜,根据不同的状态使用不同的颜色滤镜。
示例:
Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher);
ColorStateList tintStateList = new ColorStateList(new int[][]{{0, Color.RED}, {-1, Color.BLUE}}, new int[]{Color.RED, Color.BLUE});
TextView textView = new TextView(this);
textView.setCompoundDrawableTintList(drawable, tintStateList);
70. setCompoundDrawableSize(int width, int height)
功能:设置图标的尺寸。
示例:
TextView textView = new TextView(this);
textView.setCompoundDrawableSize(50, 50);
71. setTextSelectHandle(int resId)
功能:设置文本选择手柄的资源ID。
示例:
TextView textView = new TextView(this);
textView.setTextSelectHandle(R.drawable.ic_launcher);
72. setTextSelectHandle(Drawable drawable)
功能:设置文本选择手柄的Drawable对象。
示例:
Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher);
TextView textView = new TextView(this);
textView.setTextSelectHandle(drawable);
73. setTextSelectHandle(int left, int top, int right, int bottom)
功能:设置文本选择手柄的位置和边界。
示例:
TextView textView = new TextView(this);
textView.setTextSelectHandle(10, 20, 30, 40);
74. setTextDismissHandle(int resId)
功能:设置文本取消手柄的资源ID。
示例:
TextView textView = new TextView(this);
textView.setTextDismissHandle(R.drawable.ic_launcher);
75. setTextDismissHandle(Drawable drawable)
功能:设置文本取消手柄的Drawable对象。
示例:
Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher);
TextView textView = new TextView(this);
textView.setTextDismissHandle(drawable);
76. setTextDismissHandle(int left, int top, int right, int bottom)
功能:设置文本取消手柄的位置和边界。
示例:
TextView textView = new TextView(this);
textView.setTextDismissHandle(10, 20, 30, 40);
77. setTextSize(int sizeType, float textSize)
功能:设置文本字体的大小,sizeType参数为字体大小类型,可以是SP、PX、DP等单位。
示例:
TextView textView = new TextView(this);
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
78. setTextLocale(Locale locale)
功能:设置文本的区域设置信息。
示例:
TextView textView = new TextView(this);
textView.setTextLocale(Locale.CHINA);
79. setTextDirection(int textDirection)
功能:设置文本的方向,可以是RTL或LTR。
示例:
TextView textView = new TextView(this);
textView.setTextDirection(View.TEXT_DIRECTION_RTL);
80. setFreezesText(boolean freezesText)
功能:设置是否冻结文本,如果设置为true,则文本内容将不会在内部缓存中被清除。
示例:
TextView textView = new TextView(this);
textView.setFreezesText(true);
81. setCursorVisible(boolean visible)
功能:设置光标是否可见。
示例:
TextView textView = new TextView(this);
textView.setCursorVisible(true);
82. setCursorVisible(boolean visible, boolean restart)
功能:设置光标是否可见,如果restart参数为true,则光标位置会重新启动。
示例:
TextView textView = new TextView(this);
textView.setCursorVisible(true, true);
83. setKeyListener(KeyListener listener)
功能:设置键盘监听器。
示例:
TextView textView = new TextView(this);
textView.setKeyListener(KeyListener.NULL);
84. setInputMethod(InputMethodManager imm, EditorInfo info)
功能:设置输入方法,需要配合InputMethodManager使用。
示例:
TextView textView = new TextView(this);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
EditorInfo info = new EditorInfo();
info.inputType = EditorInfo.TYPE_CLASS_TEXT;
textView.setInputMethod(imm, info);
85. setInputMethodMode(int mode)
功能:设置输入模式的状态。
示例:
TextView textView = new TextView(this);
textView.setInputMethodMode(EditorInfo.IME_MODE_NORMAL);
86. setRawInputMethod(boolean show)
功能:设置是否显示原始输入方法。
示例:
TextView textView = new TextView(this);
textView.setRawInputMethod(true);
87. setRawInputType(int type)
功能:设置原始输入类型。
示例:
TextView textView = new TextView(this);
textView.setRawInputType(EditorInfo.TYPE_CLASS_TEXT);
88. setRawInputType(int type, boolean restart)
功能:设置原始输入类型,如果restart参数为true,则输入方法会重新启动。
示例:
TextView textView = new TextView(this);
textView.setRawInputType(EditorInfo.TYPE_CLASS_TEXT, true);
89. setImeOptions(int imeOptions)
功能:设置输入法提示选项。
示例:
TextView textView = new TextView(this);
textView.setImeOptions(EditorInfo.IME_ACTION_DONE);
90. setImeOptions(int imeOptions, boolean restart)
功能:设置输入法提示选项,如果restart参数为true,则输入法会重新启动。
示例:
TextView textView = new TextView(this);
textView.setImeOptions(EditorInfo.IME_ACTION_DONE, true);
91. setImeActionLabel(CharSequence label, int actionId)
功能:设置输入法操作的标签和ID。
示例:
TextView textView = new TextView(this);
textView.setImeActionLabel(getString(R.string.label), EditorInfo.IME_ACTION_DONE);
92. setImeActionLabel(CharSequence label, int actionId, boolean explicit)
功能:设置输入法操作的标签和ID,并指定是否明确指定操作。
示例:
TextView textView = new TextView(this);
textView.setImeActionLabel(getString(R.string.label), EditorInfo.IME_ACTION_DONE, true);
93. setInputExtras(int xmlResId)
功能:设置输入法的额外信息,xmlResId参数为额外信息的XML资源ID。
示例:
TextView textView = new TextView(this);
textView.setInputExtras(R.xml.input_extras);
94. setInputExtras(Bundle bundle)
功能:设置输入法的额外信息,bundle参数为额外信息的Bundle对象。
示例:
TextView textView = new TextView(this);
Bundle bundle = new Bundle();
bundle.putString("extra_key", "extra_value");
textView.setInputExtras(bundle);
95. setError(CharSequence error)
功能:设置文本的错误信息。
示例:
TextView textView = new TextView(this);
textView.setError("Error Message");
96. setError(Drawable drawable)
功能:设置文本的错误Drawable对象。
示例:
Drawable drawable = getResources().getDrawable(R.drawable.error_drawable);
TextView textView = new TextView(this);
textView.setError(drawable);
97. setError(CharSequence error, Drawable drawable)
功能:设置文本的错误信息和Drawable对象。
示例:
Drawable drawable = getResources().getDrawable(R.drawable.error_drawable);
TextView textView = new TextView(this);
textView.setError("Error Message", drawable);