TextViewCompat
class TextViewCompat
Helper for accessing features in TextView.
Summary
Constants |
|
|---|---|
const Int |
The TextView does not auto-size text (default). |
const Int |
The TextView scales text size both horizontally and vertically to fit within the container. |
Public functions |
|
|---|---|
java-static Int |
getAutoSizeMaxTextSize(textView: TextView)name android:autoSizeMaxTextSize |
java-static Int |
getAutoSizeMinTextSize(textView: TextView)name android:autoSizeMinTextSize |
java-static Int |
getAutoSizeStepGranularity(textView: TextView)name android:autoSizeStepGranularity |
java-static Array<Int> |
getAutoSizeTextAvailableSizes(textView: TextView)name android:autoSizePresetSizes |
java-static Int |
getAutoSizeTextType(textView: TextView)Returns the type of auto-size set for this widget. |
java-static ColorStateList? |
getCompoundDrawableTintList(textView: TextView)Return the tint applied to any compound drawables. |
java-static PorterDuff.Mode? |
getCompoundDrawableTintMode(textView: TextView)Return the tint mode applied to any compound drawables. |
java-static Array<Drawable!> |
@ReplaceWith(expression = "textView.getCompoundDrawablesRelative()")This function is deprecated. Call |
java-static Int |
getFirstBaselineToTopHeight(textView: TextView)Returns the distance between the first text baseline and the top of this TextView. |
java-static Int |
getLastBaselineToBottomHeight(textView: TextView)Returns the distance between the last text baseline and the bottom of this TextView. |
java-static Int |
@ReplaceWith(expression = "textView.getMaxLines()")This function is deprecated. Call |
java-static Int |
@ReplaceWith(expression = "textView.getMinLines()")This function is deprecated. Call |
java-static PrecomputedTextCompat.Params |
getTextMetricsParams(textView: TextView)Gets the parameters for text layout precomputation, for use with |
java-static Unit |
setAutoSizeTextTypeUniformWithConfiguration(Specify whether this widget should automatically scale the text to try to perfectly fit within the layout bounds. |
java-static Unit |
setAutoSizeTextTypeUniformWithPresetSizes(Specify whether this widget should automatically scale the text to try to perfectly fit within the layout bounds. |
java-static Unit |
setAutoSizeTextTypeWithDefaults(Specify whether this widget should automatically scale the text to try to perfectly fit within the layout bounds by using the default auto-size configuration. |
java-static Unit |
setCompoundDrawableTintList(textView: TextView, tint: ColorStateList?)Applies a tint to any compound drawables. |
java-static Unit |
setCompoundDrawableTintMode(Applies a tint mode to any compound drawables. |
java-static Unit |
@ReplaceWith(expression = "textView.setCompoundDrawablesRelative(start, top, end, bottom)")This function is deprecated. Call setCompoundDrawablesRelative directly. |
java-static Unit |
@ReplaceWith(expression = "textView.setCompoundDrawablesRelativeWithIntrinsicBounds(start, top, end, bottom)")This function is deprecated. Call setCompoundDrawablesRelativeWithIntrinsicBounds directly. |
java-static Unit |
@ReplaceWith(expression = "textView.setCompoundDrawablesRelativeWithIntrinsicBounds(start, top, end, bottom)")This function is deprecated. Call setCompoundDrawablesRelativeWithIntrinsicBounds directly. |
java-static Unit |
@ReplaceWith(expression = "textView.setCustomSelectionActionModeCallback(callback)")This function is deprecated. Call |
java-static Unit |
setFirstBaselineToTopHeight(Updates the top padding of the TextView so that |
java-static Unit |
setLastBaselineToBottomHeight(Updates the bottom padding of the TextView so that |
java-static Unit |
setLineHeight(textView: TextView, lineHeight: @Px @IntRange(from = 0) Int)Sets an explicit line height for this TextView. |
java-static Unit |
setLineHeight(Sets an explicit line height to a given unit and value for the TextView. |
java-static Unit |
setPrecomputedText(Sets the PrecomputedTextCompat to the TextView If the given PrecomputeTextCompat is not compatible with textView, throws an IllegalArgumentException. |
java-static Unit |
setTextAppearance(textView: TextView, resId: @StyleRes Int)Sets the text appearance from the specified style resource. |
java-static Unit |
setTextMetricsParams(Apply the text layout parameter. |
Constants
AUTO_SIZE_TEXT_TYPE_NONE
const val AUTO_SIZE_TEXT_TYPE_NONE = 0: Int
The TextView does not auto-size text (default).
AUTO_SIZE_TEXT_TYPE_UNIFORM
const val AUTO_SIZE_TEXT_TYPE_UNIFORM = 1: Int
The TextView scales text size both horizontally and vertically to fit within the container.
Public functions
getAutoSizeMaxTextSize
java-static fun getAutoSizeMaxTextSize(textView: TextView): Int
name android:autoSizeMaxTextSize
| Returns | |
|---|---|
Int |
the current auto-size maximum text size in pixels (the default is 112sp). Note that if auto-size has not been configured this function returns |
getAutoSizeMinTextSize
java-static fun getAutoSizeMinTextSize(textView: TextView): Int
name android:autoSizeMinTextSize
| Returns | |
|---|---|
Int |
the current auto-size minimum text size in pixels (the default is 12sp). Note that if auto-size has not been configured this function returns |
getAutoSizeStepGranularity
java-static fun getAutoSizeStepGranularity(textView: TextView): Int
name android:autoSizeStepGranularity
| Returns | |
|---|---|
Int |
the current auto-size step granularity in pixels. |
getAutoSizeTextAvailableSizes
java-static fun getAutoSizeTextAvailableSizes(textView: TextView): Array<Int>
name android:autoSizePresetSizes
getAutoSizeTextType
java-static fun getAutoSizeTextType(textView: TextView): Int
Returns the type of auto-size set for this widget.
name android:autoSizeTextType
| Returns | |
|---|---|
Int |
an |
getCompoundDrawableTintList
java-static fun getCompoundDrawableTintList(textView: TextView): ColorStateList?
Return the tint applied to any compound drawables.
Only returns meaningful info when running on API v24 or newer, or if textView implements the TintableCompoundDrawablesView interface.
getCompoundDrawableTintMode
java-static fun getCompoundDrawableTintMode(textView: TextView): PorterDuff.Mode?
Return the tint mode applied to any compound drawables.
Only returns meaningful info when running on API v24 or newer, or if textView implements the TintableCompoundDrawablesView interface.
@ReplaceWith(expression = "textView.getCompoundDrawablesRelative()")
java-static fungetCompoundDrawablesRelative(textView: TextView): Array<Drawable!>
Returns drawables for the start, top, end, and bottom borders from the given text view.
getFirstBaselineToTopHeight
java-static fun getFirstBaselineToTopHeight(textView: TextView): Int
Returns the distance between the first text baseline and the top of this TextView.
name android:firstBaselineToTopHeight
| See also | |
|---|---|
setFirstBaselineToTopHeight |
getLastBaselineToBottomHeight
java-static fun getLastBaselineToBottomHeight(textView: TextView): Int
Returns the distance between the last text baseline and the bottom of this TextView.
name android:lastBaselineToBottomHeight
| See also | |
|---|---|
setLastBaselineToBottomHeight |
@ReplaceWith(expression = "textView.getMaxLines()")
java-static fungetMaxLines(textView: TextView): Int
Returns the maximum number of lines displayed in the given TextView, or -1 if the maximum height was set in pixels instead.
@ReplaceWith(expression = "textView.getMinLines()")
java-static fungetMinLines(textView: TextView): Int
Returns the minimum number of lines displayed in the given TextView, or -1 if the minimum height was set in pixels instead.
getTextMetricsParams
java-static fun getTextMetricsParams(textView: TextView): PrecomputedTextCompat.Params
Gets the parameters for text layout precomputation, for use with PrecomputedTextCompat.
| Returns | |
|---|---|
PrecomputedTextCompat.Params |
a current |
| See also | |
|---|---|
PrecomputedTextCompat |
setAutoSizeTextTypeUniformWithConfiguration
java-static fun setAutoSizeTextTypeUniformWithConfiguration(
textView: TextView,
autoSizeMinTextSize: Int,
autoSizeMaxTextSize: Int,
autoSizeStepGranularity: Int,
unit: Int
): Unit
Specify whether this widget should automatically scale the text to try to perfectly fit within the layout bounds. If all the configuration params are valid the type of auto-size is set to AUTO_SIZE_TEXT_TYPE_UNIFORM.
name android:autoSizeTextType
name android:autoSizeTextType
name android:autoSizeMinTextSize
name android:autoSizeMaxTextSize
name android:autoSizeStepGranularity
| Parameters | |
|---|---|
textView: TextView |
TextView for which to set the mode. |
autoSizeMinTextSize: Int |
the minimum text size available for auto-size |
autoSizeMaxTextSize: Int |
the maximum text size available for auto-size |
autoSizeStepGranularity: Int |
the auto-size step granularity. It is used in conjunction with the minimum and maximum text size in order to build the set of text sizes the system uses to choose from when auto-sizing |
unit: Int |
the desired dimension unit for all sizes above. See |
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if any of the configuration params are invalid. |
setAutoSizeTextTypeUniformWithPresetSizes
java-static fun setAutoSizeTextTypeUniformWithPresetSizes(
textView: TextView,
presetSizes: IntArray<Int>,
unit: Int
): Unit
Specify whether this widget should automatically scale the text to try to perfectly fit within the layout bounds. If at least one value from the presetSizes is valid then the type of auto-size is set to AUTO_SIZE_TEXT_TYPE_UNIFORM.
name android:autoSizeTextType
name android:autoSizePresetSizes
| Parameters | |
|---|---|
textView: TextView |
TextView for which to set the mode. |
presetSizes: IntArray<Int> |
an |
unit: Int |
the desired dimension unit for the preset sizes above. See |
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if all of the |
setAutoSizeTextTypeWithDefaults
java-static fun setAutoSizeTextTypeWithDefaults(
textView: TextView,
autoSizeTextType: Int
): Unit
Specify whether this widget should automatically scale the text to try to perfectly fit within the layout bounds by using the default auto-size configuration.
name android:autoSizeTextType
| Parameters | |
|---|---|
textView: TextView |
TextView for which to set the mode. |
autoSizeTextType: Int |
the type of auto-size. Must be one of |
setCompoundDrawableTintList
java-static fun setCompoundDrawableTintList(textView: TextView, tint: ColorStateList?): Unit
Applies a tint to any compound drawables.
This will always take effect when running on API v24 or newer. When running on platforms previous to API v24, it will only take effect if textView implements the TintableCompoundDrawablesView interface.
setCompoundDrawableTintMode
java-static fun setCompoundDrawableTintMode(
textView: TextView,
tintMode: PorterDuff.Mode?
): Unit
Applies a tint mode to any compound drawables.
This will always take effect when running on API v24 or newer. When running on platforms previous to API v24, it will only take effect if textView implements the TintableCompoundDrawablesView interface.
@ReplaceWith(expression = "textView.setCompoundDrawablesRelative(start, top, end, bottom)")
java-static funsetCompoundDrawablesRelative(
textView: TextView,
start: Drawable?,
top: Drawable?,
end: Drawable?,
bottom: Drawable?
): Unit
Sets the Drawables (if any) to appear to the start of, above, to the end of, and below the text. Use null if you do not want a Drawable there. The Drawables must already have had setBounds called.
setCompoundDrawables or related methods.
name android:drawableStart
name android:drawableTop
name android:drawableEnd
name android:drawableBottom
@ReplaceWith(expression = "textView.setCompoundDrawablesRelativeWithIntrinsicBounds(start, top, end, bottom)")
java-static funsetCompoundDrawablesRelativeWithIntrinsicBounds(
textView: TextView,
start: Drawable?,
top: Drawable?,
end: Drawable?,
bottom: Drawable?
): Unit
Sets the Drawables (if any) to appear to the start of, above, to the end of, and below the text. Use null if you do not want a Drawable there. The Drawables' bounds will be set to their intrinsic bounds.
setCompoundDrawables or related methods.
name android:drawableStart
name android:drawableTop
name android:drawableEnd
name android:drawableBottom
@ReplaceWith(expression = "textView.setCompoundDrawablesRelativeWithIntrinsicBounds(start, top, end, bottom)")
java-static funsetCompoundDrawablesRelativeWithIntrinsicBounds(
textView: TextView,
start: @DrawableRes Int,
top: @DrawableRes Int,
end: @DrawableRes Int,
bottom: @DrawableRes Int
): Unit
Sets the Drawables (if any) to appear to the start of, above, to the end of, and below the text. Use 0 if you do not want a Drawable there. The Drawables' bounds will be set to their intrinsic bounds.
Calling this method will overwrite any Drawables previously set usingsetCompoundDrawables or related methods.
name android:drawableStart
name android:drawableTop
name android:drawableEnd
name android:drawableBottom
| Parameters | |
|---|---|
textView: TextView |
The TextView against which to invoke the method. |
start: @DrawableRes Int |
Resource identifier of the start Drawable. |
top: @DrawableRes Int |
Resource identifier of the top Drawable. |
end: @DrawableRes Int |
Resource identifier of the end Drawable. |
bottom: @DrawableRes Int |
Resource identifier of the bottom Drawable. |
@ReplaceWith(expression = "textView.setCustomSelectionActionModeCallback(callback)")
java-static funsetCustomSelectionActionModeCallback(
textView: TextView,
callback: ActionMode.Callback
): Unit
Sets a selection action mode callback on a TextView. Also this method can be used to fix a bug in framework SDK 26/27. On these affected devices, the bug causes the menu containing the options for handling ACTION_PROCESS_TEXT after text selection to miss a number of items. This method can be used to fix this wrong behaviour for a text view, by passing any custom callback implementation. If no custom callback is desired, a no-op implementation should be provided. Note that, by default, the bug will only be fixed when the default floating toolbar menu implementation is used. If a custom implementation of Menu is provided, this should provide the method Menu#removeItemAt(int) which removes a menu item by its position, as given by Menu#getItem(int). Also, the following post condition should hold: a call to removeItemAt(i), should not modify the results of getItem(j) for any j
| Parameters | |
|---|---|
textView: TextView |
The TextView to set the action selection mode callback on. |
callback: ActionMode.Callback |
The action selection mode callback to set on textView. |
setFirstBaselineToTopHeight
java-static fun setFirstBaselineToTopHeight(
textView: TextView,
firstBaselineToTopHeight: @Px @IntRange(from = 0) Int
): Unit
Updates the top padding of the TextView so that firstBaselineToTopHeight is equal to the distance between the first text baseline and the top of this TextView. Note that if FontMetrics.top or FontMetrics.ascent was already greater than firstBaselineToTopHeight, the top padding is not updated.
name android:firstBaselineToTopHeight
setLastBaselineToBottomHeight
java-static fun setLastBaselineToBottomHeight(
textView: TextView,
lastBaselineToBottomHeight: @Px @IntRange(from = 0) Int
): Unit
Updates the bottom padding of the TextView so that lastBaselineToBottomHeight is equal to the distance between the last text baseline and the bottom of this TextView. Note that if FontMetrics.bottom or FontMetrics.descent was already greater than lastBaselineToBottomHeight, the bottom padding is not updated.
name android:lastBaselineToBottomHeight
setLineHeight
java-static fun setLineHeight(textView: TextView, lineHeight: @Px @IntRange(from = 0) Int): Unit
Sets an explicit line height for this TextView. This is equivalent to the vertical distance between subsequent baselines in the TextView.
name android:lineHeight
setLineHeight
java-static fun setLineHeight(
textView: TextView,
unit: Int,
lineHeight: @FloatRange(from = 0) Float
): Unit
Sets an explicit line height to a given unit and value for the TextView. This is equivalent to the vertical distance between subsequent baselines in the TextView. See TypedValue for the possible dimension units.
ref android.R.styleable#TextView_lineHeight
| Parameters | |
|---|---|
textView: TextView |
the TextView to modify |
unit: Int |
The desired dimension unit. SP units are strongly recommended so that line height stays proportional to the text size when fonts are scaled up for accessibility. |
lineHeight: @FloatRange(from = 0) Float |
The desired line height in the given units. |
| See also | |
|---|---|
setLineSpacing |
|
getLineSpacingExtra |
setPrecomputedText
java-static fun setPrecomputedText(
textView: TextView,
precomputed: PrecomputedTextCompat
): Unit
Sets the PrecomputedTextCompat to the TextView If the given PrecomputeTextCompat is not compatible with textView, throws an IllegalArgumentException.
| Parameters | |
|---|---|
textView: TextView |
the TextView |
precomputed: PrecomputedTextCompat |
the precomputed text |
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if precomputed text is not compatible with textView. |
setTextAppearance
java-static fun setTextAppearance(textView: TextView, resId: @StyleRes Int): Unit
Sets the text appearance from the specified style resource.
Use a framework-defined TextAppearance style like @android:style/TextAppearance.Material.Body1.
setTextMetricsParams
java-static fun setTextMetricsParams(
textView: TextView,
params: PrecomputedTextCompat.Params
): Unit
Apply the text layout parameter. Update the TextView parameters to be compatible with PrecomputedTextCompat.Params.
| See also | |
|---|---|
PrecomputedTextCompat |