Most visited

Recently visited

Added in API level 14

Switch

public class Switch
extends CompoundButton

java.lang.Object
   ↳ android.view.View
     ↳ android.widget.TextView
       ↳ android.widget.Button
         ↳ android.widget.CompoundButton
           ↳ android.widget.Switch


Switch是一个双态切换开关小部件,可以在两个选项中进行选择。 用户可以前后拖动“拇指”来选择所选的选项,或者只需点击切换,就好像它是一个复选框。 text属性控制交换机标签中显示的文本,而offon文本控制拇指上的文本。 同样, textAppearance和相关的setTypeface()方法控制标签文本的字体和样式,而switchTextAppearance和相关的setSwitchTypeface()方法控制该文本的字体和样式。

请参阅 Toggle Buttons指南。

Summary

XML attributes

android:showText Whether to draw on/off text. 
android:splitTrack Whether to split the track and leave a gap for the thumb drawable. 
android:switchMinWidth Minimum width for the switch component

必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。

android:switchPadding Minimum space between the switch and caption text

必须是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。

android:switchTextAppearance TextAppearance style for text displayed on the switch thumb. 
android:textOff Text to use when the switch is in the unchecked/"off" state. 
android:textOn Text to use when the switch is in the checked/"on" state. 
android:textStyle Style (bold, italic, bolditalic) for the text. 
android:thumb Drawable to use as the "thumb" that switches back and forth. 
android:thumbTextPadding Amount of padding on either side of text within the switch thumb. 
android:thumbTint Tint to apply to the thumb. 
android:thumbTintMode Blending mode used to apply the thumb tint. 
android:track Drawable to use as the "track" that the switch thumb slides within. 
android:trackTint Tint to apply to the track. 
android:trackTintMode Blending mode used to apply the track tint. 
android:typeface Typeface (normal, sans, serif, monospace) for the text. 

Inherited XML attributes

From class android.widget.CompoundButton
From class android.widget.TextView
From class android.view.View

Inherited constants

From class android.view.View

Inherited fields

From class android.view.View

Public constructors

Switch(Context context)

使用默认样式构建一个新的交换机。

Switch(Context context, AttributeSet attrs)

使用默认样式构造一个新的Switch,根据请求覆盖特定的样式属性。

Switch(Context context, AttributeSet attrs, int defStyleAttr)

使用由给定主题属性确定的默认样式构造一个新的Switch,根据请求覆盖特定的样式属性。

Switch(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes)

使用由给定的主题属性或样式资源确定的默认样式构造一个新的Switch,根据请求覆盖特定的样式属性。

Public methods

void draw(Canvas c)

手动将此视图(及其所有子项)呈现给定的Canvas。

void drawableHotspotChanged(float x, float y)

只要视图热点更改并需要将其传播到视图管理的可绘制视图或子视图,就会调用此函数。

CharSequence getAccessibilityClassName()

返回此对象的类名称以用于辅助功能。

int getCompoundPaddingLeft()

返回视图的左边距,如果有的话,加左边的Drawable空间。

int getCompoundPaddingRight()

返回视图的正确填充,以及右侧Drawable(如果有)的空间。

boolean getShowText()
boolean getSplitTrack()

返回曲目是否应该被大拇指分割。

int getSwitchMinWidth()

以像素为单位获取开关的最小宽度。

int getSwitchPadding()

获取交换机和相关文本之间的水平填充量。

CharSequence getTextOff()

返回按钮不处于选中状态时显示的文本。

CharSequence getTextOn()

返回按钮处于选中状态时显示的文本。

Drawable getThumbDrawable()

获取用于切换“拇指”的可绘图 - 用户可以在物理上触摸并沿轨道拖动的部分。

int getThumbTextPadding()

在交换机上绘制的文本周围获得水平填充。

ColorStateList getThumbTintList()
PorterDuff.Mode getThumbTintMode()
Drawable getTrackDrawable()

获取用于交换机滑入其中的轨道的drawable。

ColorStateList getTrackTintList()
PorterDuff.Mode getTrackTintMode()
void jumpDrawablesToCurrentState()

在与此视图关联的所有可绘制对象上调用 Drawable.jumpToCurrentState()

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。

void onProvideStructure(ViewStructure structure)

作为 Activity.onProvideAssistData一部分从视图中检索辅助结构时调用。

boolean onTouchEvent(MotionEvent ev)

实现此方法来处理触摸屏幕动作事件。

void setChecked(boolean checked)

更改此按钮的选中状态。

void setShowText(boolean showText)

设置是否显示开启/关闭文本。

void setSplitTrack(boolean splitTrack)

指定曲目是否应该被大拇指分割。

void setSwitchMinWidth(int pixels)

以像素为单位设置开关的最小宽度。

void setSwitchPadding(int pixels)

设置开关和相关文本之间的水平填充量。

void setSwitchTextAppearance(Context context, int resid)

设置指定TextAppearance资源中的开关文本颜色,大小,样式,提示颜色和高亮颜色。

void setSwitchTypeface(Typeface tf)

设置文本应该在开关上显示的字体。

void setSwitchTypeface(Typeface tf, int style)

设置文本应显示在开关上的字体和样式,如果您提供的字体没有指定样式中的所有位,则打开“Paint”中的假粗体和斜体位。

void setTextOff(CharSequence textOff)

设置当按钮不处于选中状态时显示的文本。

void setTextOn(CharSequence textOn)

设置按钮处于选中状态时显示的文本。

void setThumbDrawable(Drawable thumb)

设置用于开关“拇指”的可绘图 - 用户可以物理触摸并沿轨道拖动的部分。

void setThumbResource(int resId)

设置用于开关“拇指”的可绘图 - 用户可以物理触摸并沿轨道拖动的部分。

void setThumbTextPadding(int pixels)

在交换机上绘制的文本周围设置水平填充。

void setThumbTintList(ColorStateList tint)

对可绘制的拇指应用色调。

void setThumbTintMode(PorterDuff.Mode tintMode)

指定用于将 setThumbTintList(ColorStateList) }指定的色调应用到拇指可绘制的混合模式。

void setTrackDrawable(Drawable track)

设置交换机在其中滑动的轨道所使用的可绘图。

void setTrackResource(int resId)

设置交换机在其中滑动的轨道所使用的可绘图。

void setTrackTintList(ColorStateList tint)

对可绘制曲目应用色调。

void setTrackTintMode(PorterDuff.Mode tintMode)

指定用于将 setTrackTintList(ColorStateList) }指定的色调应用于轨迹可绘制的混合模式。

void toggle()

将视图的选中状态更改为当前状态的反转状态

Protected methods

void drawableStateChanged()

只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。

int[] onCreateDrawableState(int extraSpace)

为此视图生成新的 Drawable状态。

void onDraw(Canvas canvas)

实施这个来做你的绘画。

void onLayout(boolean changed, int left, int top, int right, int bottom)

当这个视图为每个孩子分配一个大小和位置时,从布局调用。

boolean verifyDrawable(Drawable who)

如果你的视图子类正在显示它自己的Drawable对象,它应该覆盖这个函数,并且对于它显示的任何Drawable返回true。

Inherited methods

From class android.widget.CompoundButton
From class android.widget.Button
From class android.widget.TextView
From class android.view.View
From class java.lang.Object
From interface android.widget.Checkable
From interface android.view.ViewTreeObserver.OnPreDrawListener
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

XML attributes

android:showText

是否绘制/关闭文本。

必须是布尔值,“ true ”或“ false ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 showText

相关方法:

android:splitTrack

是否分开轨道并留下可绘制拇指的间隙。

必须是布尔值,可以是“ true ”或“ false ”。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 splitTrack

相关方法:

android:switchMinWidth

交换机组件的最小宽度

必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 switchMinWidth

相关方法:

android:switchPadding

开关和标题文本之间的最小空间

必须是维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 switchPadding

相关方法:

android:switchTextAppearance

TextAppearance style用于显示在开关拇指上的文本。

必须是另一个资源的引用,其形式为“ @[+][package:]type:name ”,或者其形式为“一个主题属性 ?[package:][type:]name ”。

这对应于全局属性资源符号 switchTextAppearance

相关方法:

android:textOff

当开关处于未选中/“关闭”状态时要使用的文本。

必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 textOff

相关方法:

android:textOn

当开关处于选中/“开启”状态时要使用的文本。

必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 textOn

相关方法:

android:textStyle

文字的样式(粗体,斜体,粗体)。

必须是以下常量值中的一个或多个(用'|'分隔)。

Constant Value 描述
normal 0
bold 1
italic 2

这对应于全局属性资源符号 textStyle

相关方法:

android:thumb

可以用作来回切换的“拇指”。

必须是另一个资源的引用,其形式为“ @[+][package:]type:name ”,或者其形式为“一个主题属性 ?[package:][type:]name ”。

这对应于全局属性资源符号 thumb

相关方法:

android:thumbTextPadding

切换器拇指内的文本两侧的填充量。

必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 thumbTextPadding

相关方法:

android:thumbTint

色调适用于拇指。

必须是“ #rgb ”,“ #argb ”,“ #rrggbb ”或“ #aarrggbb ”形式的颜色值。

这也可能是对包含此类型值的资源(格式为“ @[package:]type:name ”)或主题属性(格式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 thumbTint

相关方法:

android:thumbTintMode

混合模式用于应用拇指色调。

必须是下列常数值之一。

Constant Value 描述
src_over 3 The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc]
src_in 5 The tint is masked by the alpha channel of the drawable. The drawable’s color channels are thrown out. [Sa * Da, Sc * Da]
src_atop 9 The tint is drawn above the drawable, but with the drawable’s alpha channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc]
multiply 14 Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc]
screen 15 [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc]
add 16 Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D)

这对应于全局属性资源符号 thumbTintMode

相关方法:

android:track

可用作开关拇指滑入其中的“轨道”。

必须是另一个资源的引用,其形式为“ @[+][package:]type:name ”,或者其形式为“一个主题属性 ?[package:][type:]name ”。

这对应于全局属性资源符号 track

相关方法:

android:trackTint

色调适用于赛道。

必须是“ #rgb ”,“ #argb ”,“ #rrggbb ”或“ #aarrggbb ”形式的颜色值。

这也可能是对包含此类型值的资源(形式为“ @[package:]type:name ”)或主题属性(形式为“ ?[package:][type:]name ”)的 ?[package:][type:]name

这对应于全局属性资源符号 trackTint

相关方法:

android:trackTintMode

混合模式用于应用曲目色调。

必须是下列常数值之一。

Constant Value 描述
src_over 3 The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc]
src_in 5 The tint is masked by the alpha channel of the drawable. The drawable’s color channels are thrown out. [Sa * Da, Sc * Da]
src_atop 9 The tint is drawn above the drawable, but with the drawable’s alpha channel masking the result. [Da, Sc * Da + (1 - Sa) * Dc]
multiply 14 Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc]
screen 15 [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc]
add 16 Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D)

这对应于全局属性资源符号 trackTintMode

相关方法:

android:typeface

文字的字体(正常,无符号,衬线,等宽)。

必须是下列常数值之一。

Constant Value 描述
normal 0
sans 1
serif 2
monospace 3

这对应于全局属性资源符号 typeface

相关方法:

Public constructors

Switch

Added in API level 14
Switch (Context context)

使用默认样式构建一个新的交换机。

Parameters
context Context: The Context that will determine this widget's theming.

Switch

Added in API level 14
Switch (Context context, 
                AttributeSet attrs)

使用默认样式构造一个新的Switch,根据请求覆盖特定的样式属性。

Parameters
context Context: The Context that will determine this widget's theming.
attrs AttributeSet: Specification of attributes that should deviate from default styling.

Switch

Added in API level 14
Switch (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

使用由给定主题属性确定的默认样式构造一个新的Switch,根据请求覆盖特定的样式属性。

Parameters
context Context: The Context that will determine this widget's theming.
attrs AttributeSet: Specification of attributes that should deviate from the default styling.
defStyleAttr int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.

Switch

Added in API level 21
Switch (Context context, 
                AttributeSet attrs, 
                int defStyleAttr, 
                int defStyleRes)

使用由给定的主题属性或样式资源确定的默认样式构造一个新的Switch,根据请求覆盖特定的样式属性。

Parameters
context Context: The Context that will determine this widget's theming.
attrs AttributeSet: Specification of attributes that should deviate from the default styling.
defStyleAttr int: An attribute in the current theme that contains a reference to a style resource that supplies default values for the view. Can be 0 to not look for defaults.
defStyleRes int: A resource identifier of a style resource that supplies default values for the view, used only if defStyleAttr is 0 or can not be found in the theme. Can be 0 to not look for defaults.

Public methods

draw

Added in API level 14
void draw (Canvas c)

手动将此视图(及其所有子项)呈现给定的Canvas。 在调用这个函数之前,视图必须已经完成了一个完整的布局。 在实现视图时,实现onDraw(android.graphics.Canvas)而不是重写此方法。 如果您确实需要重写此方法,请调用超类版本。

Parameters
c Canvas: The Canvas to which the View is rendered.

drawableHotspotChanged

Added in API level 21
void drawableHotspotChanged (float x, 
                float y)

只要视图热点更改并需要将其传播到视图管理的可绘制视图或子视图,就会调用此函数。

调度到子视图由 dispatchDrawableHotspotChanged(float, float)处理。

重写此功能时,一定要调用超类。

Parameters
x float: hotspot x coordinate
y float: hotspot y coordinate

getAccessibilityClassName

Added in API level 23
CharSequence getAccessibilityClassName ()

返回此对象的类名称以用于辅助功能。 如果子类正在实现的东西应该被视为一个全新的视图类,当它被可访问性使用时,子类只应该覆盖这个子类,与它所源自的类无关。 这用于填写AccessibilityNodeInfo.setClassName

Returns
CharSequence

getCompoundPaddingLeft

Added in API level 14
int getCompoundPaddingLeft ()

返回视图的左边距,如果有的话,加左边的Drawable空间。

Returns
int

getCompoundPaddingRight

Added in API level 14
int getCompoundPaddingRight ()

返回视图的正确填充,以及右侧Drawable(如果有)的空间。

Returns
int

getShowText

Added in API level 21
boolean getShowText ()

相关XML属性:

Returns
boolean whether the on/off text should be displayed

getSplitTrack

Added in API level 21
boolean getSplitTrack ()

返回曲目是否应该被大拇指分割。

相关XML属性:

Returns
boolean

getSwitchMinWidth

Added in API level 16
int getSwitchMinWidth ()

以像素为单位获取开关的最小宽度。 开关的宽度将是这个值的最大值,它的测量宽度由开关可绘制和使用的文本决定。

相关XML属性:

Returns
int Minimum width of the switch in pixels

getSwitchPadding

Added in API level 16
int getSwitchPadding ()

获取交换机和相关文本之间的水平填充量。

相关XML属性:

Returns
int Amount of padding in pixels

getTextOff

Added in API level 14
CharSequence getTextOff ()

返回按钮不处于选中状态时显示的文本。

相关XML属性:

Returns
CharSequence

getTextOn

Added in API level 14
CharSequence getTextOn ()

返回按钮处于选中状态时显示的文本。

相关XML属性:

Returns
CharSequence

getThumbDrawable

Added in API level 16
Drawable getThumbDrawable ()

获取用于切换“拇指”的可绘图 - 用户可以在物理上触摸并沿轨道拖动的部分。

相关XML属性:

Returns
Drawable Thumb drawable

getThumbTextPadding

Added in API level 16
int getThumbTextPadding ()

在交换机上绘制的文本周围获得水平填充。

相关XML属性:

Returns
int Horizontal padding for switch thumb text in pixels

getThumbTintList

Added in API level 23
ColorStateList getThumbTintList ()

相关XML属性:

Returns
ColorStateList the tint applied to the thumb drawable

也可以看看:

getThumbTintMode

Added in API level 23
PorterDuff.Mode getThumbTintMode ()

相关XML属性:

Returns
PorterDuff.Mode the blending mode used to apply the tint to the thumb drawable

也可以看看:

getTrackDrawable

Added in API level 16
Drawable getTrackDrawable ()

获取用于交换机滑入其中的轨道的drawable。

相关XML属性:

Returns
Drawable Track drawable

getTrackTintList

Added in API level 23
ColorStateList getTrackTintList ()

相关XML属性:

Returns
ColorStateList the tint applied to the track drawable

也可以看看:

getTrackTintMode

Added in API level 23
PorterDuff.Mode getTrackTintMode ()

相关XML属性:

Returns
PorterDuff.Mode the blending mode used to apply the tint to the track drawable

也可以看看:

jumpDrawablesToCurrentState

Added in API level 14
void jumpDrawablesToCurrentState ()

在与此视图关联的所有可绘制对象上调用 Drawable.jumpToCurrentState()

如果有一个StateListAnimator附加到这个视图,也调用 jumpToCurrentState()

onMeasure

Added in API level 14
void onMeasure (int widthMeasureSpec, 
                int heightMeasureSpec)

测量视图及其内容以确定测量宽度和测量高度。 此方法由measure(int, int)调用, measure(int, int)子类覆盖以提供其内容的准确和有效的度量。

合同:覆盖此方法时, 必须致电setMeasuredDimension(int, int)以存储此视图的测量宽度和高度。 如果不这样做,将触发IllegalStateException ,由measure(int, int)引发。 调用超类' onMeasure(int, int)是一种有效的用法。

Measure的基类实现默认为背景大小,除非MeasureSpec允许更大的大小。 子类应该覆盖onMeasure(int, int)以提供更好的内容度量。

如果此方法被覆盖,则子类的责任是确保测量的高度和宽度至少为视图的最小高度和宽度( getSuggestedMinimumHeight()getSuggestedMinimumWidth() )。

Parameters
widthMeasureSpec int: horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.
heightMeasureSpec int: vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

onProvideStructure

Added in API level 23
void onProvideStructure (ViewStructure structure)

作为 Activity.onProvideAssistData一部分从视图中检索辅助结构时调用。

Parameters
structure ViewStructure: Fill in with structured view data. The default implementation fills in all data that can be inferred from the view itself.

onTouchEvent

Added in API level 14
boolean onTouchEvent (MotionEvent ev)

实现此方法来处理触摸屏幕动作事件。

如果使用此方法检测点击操作,建议通过执行并调用performClick()来执行操作。 这将确保一致的系统行为,包括:

  • obeying click sound preferences
  • dispatching OnClickListener calls
  • handling ACTION_CLICK when accessibility features are enabled

Parameters
ev MotionEvent: The motion event.
Returns
boolean True if the event was handled, false otherwise.

setChecked

Added in API level 14
void setChecked (boolean checked)

更改此按钮的选中状态。

Parameters
checked boolean: true to check the button, false to uncheck it

setShowText

Added in API level 21
void setShowText (boolean showText)

设置是否显示开启/关闭文本。

相关XML属性:

Parameters
showText boolean: true to display on/off text

setSplitTrack

Added in API level 21
void setSplitTrack (boolean splitTrack)

指定曲目是否应该被大拇指分割。 如果属实,则拇指的光学边界将从可绘制的轨道中剪切出来,然后拇指将被拉入所产生的间隙中。

相关XML属性:

Parameters
splitTrack boolean: Whether the track should be split by the thumb

setSwitchMinWidth

Added in API level 16
void setSwitchMinWidth (int pixels)

以像素为单位设置开关的最小宽度。 开关的宽度将是这个值的最大值,它的测量宽度由开关可绘制和使用的文本决定。

相关XML属性:

Parameters
pixels int: Minimum width of the switch in pixels

setSwitchPadding

Added in API level 16
void setSwitchPadding (int pixels)

设置开关和相关文本之间的水平填充量。

相关XML属性:

Parameters
pixels int: Amount of padding in pixels

setSwitchTextAppearance

Added in API level 14
void setSwitchTextAppearance (Context context, 
                int resid)

设置指定TextAppearance资源中的开关文本颜色,大小,样式,提示颜色和高亮颜色。

相关XML属性:

Parameters
context Context
resid int

setSwitchTypeface

Added in API level 14
void setSwitchTypeface (Typeface tf)

设置文本应该在开关上显示的字体。 请注意,并非所有的字体系列实际上都有粗体和斜体变体,因此您可能需要使用setSwitchTypeface(Typeface, int)才能获得您实际需要的外观。

相关XML属性:

Parameters
tf Typeface

setSwitchTypeface

Added in API level 14
void setSwitchTypeface (Typeface tf, 
                int style)

设置文本应显示在开关上的字体和样式,如果您提供的字体没有指定样式中的所有位,则打开“Paint”中的假粗体和斜体位。

Parameters
tf Typeface
style int

setTextOff

Added in API level 14
void setTextOff (CharSequence textOff)

设置当按钮不处于选中状态时显示的文本。

相关XML属性:

Parameters
textOff CharSequence

setTextOn

Added in API level 14
void setTextOn (CharSequence textOn)

设置按钮处于选中状态时显示的文本。

相关XML属性:

Parameters
textOn CharSequence

setThumbDrawable

Added in API level 16
void setThumbDrawable (Drawable thumb)

设置用于开关“拇指”的可绘图 - 用户可以物理触摸并沿轨道拖动的部分。

相关XML属性:

Parameters
thumb Drawable: Thumb drawable

setThumbResource

Added in API level 16
void setThumbResource (int resId)

设置用于开关“拇指”的可绘图 - 用户可以物理触摸并沿轨道拖动的部分。

相关XML属性:

Parameters
resId int: Resource ID of a thumb drawable

setThumbTextPadding

Added in API level 16
void setThumbTextPadding (int pixels)

在交换机上绘制的文本周围设置水平填充。

相关XML属性:

Parameters
pixels int: Horizontal padding for switch thumb text in pixels

setThumbTintList

Added in API level 23
void setThumbTintList (ColorStateList tint)

对可绘制的拇指应用色调。 不会修改当前的色调模式,默认为SRC_IN

随后对 setThumbDrawable(Drawable)调用将自动 setThumbDrawable(Drawable) drawable,并使用 setTintList(ColorStateList)应用指定的色调和色调模式。

相关XML属性:

Parameters
tint ColorStateList: the tint to apply, may be null to clear tint

也可以看看:

setThumbTintMode

Added in API level 23
void setThumbTintMode (PorterDuff.Mode tintMode)

指定用于将由setThumbTintList(ColorStateList) }指定的色调应用于拇指可绘制的混合模式。 默认模式是SRC_IN

相关XML属性:

Parameters
tintMode PorterDuff.Mode: the blending mode used to apply the tint, may be null to clear tint

也可以看看:

setTrackDrawable

Added in API level 16
void setTrackDrawable (Drawable track)

设置交换机在其中滑动的轨道所使用的可绘图。

相关XML属性:

Parameters
track Drawable: Track drawable

setTrackResource

Added in API level 16
void setTrackResource (int resId)

设置交换机在其中滑动的轨道所使用的可绘图。

相关XML属性:

Parameters
resId int: Resource ID of a track drawable

setTrackTintList

Added in API level 23
void setTrackTintList (ColorStateList tint)

对可绘制曲目应用色调。 不会修改当前着色模式,默认为SRC_IN

随后调用 setTrackDrawable(Drawable)将自动 setTrackDrawable(Drawable) drawable,并使用 setTintList(ColorStateList)应用指定的色调和色调模式。

相关XML属性:

Parameters
tint ColorStateList: the tint to apply, may be null to clear tint

也可以看看:

setTrackTintMode

Added in API level 23
void setTrackTintMode (PorterDuff.Mode tintMode)

指定用于将setTrackTintList(ColorStateList) }指定的色调应用于轨迹可绘制的混合模式。 默认模式是SRC_IN

相关XML属性:

Parameters
tintMode PorterDuff.Mode: the blending mode used to apply the tint, may be null to clear tint

也可以看看:

toggle

Added in API level 14
void toggle ()

将视图的选中状态更改为当前状态的反转状态

Protected methods

drawableStateChanged

Added in API level 14
void drawableStateChanged ()

只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。

如果View有一个StateListAnimator,它也将被调用来运行必要的状态改变动画。

重写此功能时,一定要调用超类。

onCreateDrawableState

Added in API level 14
int[] onCreateDrawableState (int extraSpace)

为此视图生成新的Drawable状态。 当缓存的Drawable状态被确定为无效时,这由视图系统调用。 要检索当前状态,您应该使用getDrawableState()

Parameters
extraSpace int: if non-zero, this is the number of extra entries you would like in the returned array in which you can place your own states.
Returns
int[] Returns an array holding the current Drawable state of the view.

onDraw

Added in API level 14
void onDraw (Canvas canvas)

实施这个来做你的绘画。

Parameters
canvas Canvas: the canvas on which the background will be drawn

onLayout

Added in API level 14
void onLayout (boolean changed, 
                int left, 
                int top, 
                int right, 
                int bottom)

当这个视图为每个孩子分配一个大小和位置时,从布局调用。 带孩子的派生类应该覆盖这个方法,并调用他们每个孩子的布局。

Parameters
changed boolean: This is a new size or position for this view
left int: Left position, relative to parent
top int: Top position, relative to parent
right int: Right position, relative to parent
bottom int: Bottom position, relative to parent

verifyDrawable

Added in API level 14
boolean verifyDrawable (Drawable who)

如果你的视图子类正在显示它自己的Drawable对象,它应该覆盖这个函数,并且对于它显示的任何Drawable返回true。 这样可以安排这些可绘制的动画。

重写此功能时,一定要调用超类。

Parameters
who Drawable: The Drawable to verify. Return true if it is one you are displaying, else return the result of calling through to the super class.
Returns
boolean boolean If true than the Drawable is being displayed in the view; else false and it is not allowed to animate.

Hooray!