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
属性控制交换机标签中显示的文本,而off
和on
文本控制拇指上的文本。 同样, textAppearance
和相关的setTypeface()方法控制标签文本的字体和样式,而switchTextAppearance
和相关的setSwitchTypeface()方法控制该文本的字体和样式。
请参阅 Toggle Buttons指南。
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 必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ |
android:switchPadding |
Minimum space between the switch and caption text 必须是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ |
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() 在与此视图关联的所有可绘制对象上调用 |
void |
onMeasure(int widthMeasureSpec, int heightMeasureSpec) 测量视图及其内容以确定测量宽度和测量高度。 |
void |
onProvideStructure(ViewStructure structure) 作为 |
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) 指定用于将 |
void |
setTrackDrawable(Drawable track) 设置交换机在其中滑动的轨道所使用的可绘图。 |
void |
setTrackResource(int resId) 设置交换机在其中滑动的轨道所使用的可绘图。 |
void |
setTrackTintList(ColorStateList tint) 对可绘制曲目应用色调。 |
void |
setTrackTintMode(PorterDuff.Mode tintMode) 指定用于将 |
void |
toggle() 将视图的选中状态更改为当前状态的反转状态 |
Protected methods |
|
---|---|
void |
drawableStateChanged() 只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。 |
int[] |
onCreateDrawableState(int extraSpace) 为此视图生成新的 |
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
|
是否绘制/关闭文本。
必须是布尔值,“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 showText
。
相关方法:
是否分开轨道并留下可绘制拇指的间隙。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 splitTrack
。
相关方法:
交换机组件的最小宽度
必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 switchMinWidth
。
相关方法:
开关和标题文本之间的最小空间
必须是维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 switchPadding
。
相关方法:
TextAppearance style用于显示在开关拇指上的文本。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 switchTextAppearance
。
相关方法:
当开关处于未选中/“关闭”状态时要使用的文本。
必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 textOff
。
相关方法:
当开关处于选中/“开启”状态时要使用的文本。
必须是字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 textOn
。
相关方法:
文字的样式(粗体,斜体,粗体)。
必须是以下常量值中的一个或多个(用'|'分隔)。
Constant | Value | 描述 |
---|---|---|
normal |
0 | |
bold |
1 | |
italic |
2 |
这对应于全局属性资源符号 textStyle
。
相关方法:
可以用作来回切换的“拇指”。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 thumb
。
相关方法:
切换器拇指内的文本两侧的填充量。
必须是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸,毫米(毫米)。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 thumbTextPadding
。
相关方法:
色调适用于拇指。
必须是“ #rgb
”,“ #argb
”,“ #rrggbb
”或“ #aarrggbb
”形式的颜色值。
这也可能是对包含此类型值的资源(格式为“ @[package:]type:name
”)或主题属性(格式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 thumbTint
。
相关方法:
混合模式用于应用拇指色调。
必须是下列常数值之一。
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
。
相关方法:
可用作开关拇指滑入其中的“轨道”。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 track
。
相关方法:
色调适用于赛道。
必须是“ #rgb
”,“ #argb
”,“ #rrggbb
”或“ #aarrggbb
”形式的颜色值。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 trackTint
。
相关方法:
混合模式用于应用曲目色调。
必须是下列常数值之一。
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
。
相关方法:
文字的字体(正常,无符号,衬线,等宽)。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
normal |
0 | |
sans |
1 | |
serif |
2 | |
monospace |
3 |
这对应于全局属性资源符号 typeface
。
相关方法:
Switch (Context context)
使用默认样式构建一个新的交换机。
Parameters | |
---|---|
context |
Context : The Context that will determine this widget's theming. |
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 (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 (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. |
void draw (Canvas c)
手动将此视图(及其所有子项)呈现给定的Canvas。 在调用这个函数之前,视图必须已经完成了一个完整的布局。 在实现视图时,实现onDraw(android.graphics.Canvas)
而不是重写此方法。 如果您确实需要重写此方法,请调用超类版本。
Parameters | |
---|---|
c |
Canvas : The Canvas to which the View is rendered. |
void drawableHotspotChanged (float x, float y)
只要视图热点更改并需要将其传播到视图管理的可绘制视图或子视图,就会调用此函数。
调度到子视图由 dispatchDrawableHotspotChanged(float, float)
处理。
重写此功能时,一定要调用超类。
Parameters | |
---|---|
x |
float : hotspot x coordinate |
y |
float : hotspot y coordinate |
CharSequence getAccessibilityClassName ()
返回此对象的类名称以用于辅助功能。 如果子类正在实现的东西应该被视为一个全新的视图类,当它被可访问性使用时,子类只应该覆盖这个子类,与它所源自的类无关。 这用于填写AccessibilityNodeInfo.setClassName
。
Returns | |
---|---|
CharSequence |
int getCompoundPaddingLeft ()
返回视图的左边距,如果有的话,加左边的Drawable空间。
Returns | |
---|---|
int |
int getCompoundPaddingRight ()
返回视图的正确填充,以及右侧Drawable(如果有)的空间。
Returns | |
---|---|
int |
boolean getShowText ()
相关XML属性:
Returns | |
---|---|
boolean |
whether the on/off text should be displayed |
boolean getSplitTrack ()
返回曲目是否应该被大拇指分割。
相关XML属性:
Returns | |
---|---|
boolean |
int getSwitchMinWidth ()
以像素为单位获取开关的最小宽度。 开关的宽度将是这个值的最大值,它的测量宽度由开关可绘制和使用的文本决定。
相关XML属性:
Returns | |
---|---|
int |
Minimum width of the switch in pixels |
int getSwitchPadding ()
获取交换机和相关文本之间的水平填充量。
相关XML属性:
Returns | |
---|---|
int |
Amount of padding in pixels |
CharSequence getTextOff ()
返回按钮不处于选中状态时显示的文本。
相关XML属性:
Returns | |
---|---|
CharSequence |
CharSequence getTextOn ()
返回按钮处于选中状态时显示的文本。
相关XML属性:
Returns | |
---|---|
CharSequence |
Drawable getThumbDrawable ()
获取用于切换“拇指”的可绘图 - 用户可以在物理上触摸并沿轨道拖动的部分。
相关XML属性:
Returns | |
---|---|
Drawable |
Thumb drawable |
int getThumbTextPadding ()
在交换机上绘制的文本周围获得水平填充。
相关XML属性:
Returns | |
---|---|
int |
Horizontal padding for switch thumb text in pixels |
ColorStateList getThumbTintList ()
相关XML属性:
Returns | |
---|---|
ColorStateList |
the tint applied to the thumb drawable |
PorterDuff.Mode getThumbTintMode ()
相关XML属性:
Returns | |
---|---|
PorterDuff.Mode |
the blending mode used to apply the tint to the thumb drawable |
Drawable getTrackDrawable ()
获取用于交换机滑入其中的轨道的drawable。
相关XML属性:
Returns | |
---|---|
Drawable |
Track drawable |
ColorStateList getTrackTintList ()
相关XML属性:
Returns | |
---|---|
ColorStateList |
the tint applied to the track drawable |
PorterDuff.Mode getTrackTintMode ()
相关XML属性:
Returns | |
---|---|
PorterDuff.Mode |
the blending mode used to apply the tint to the track drawable |
void jumpDrawablesToCurrentState ()
在与此视图关联的所有可绘制对象上调用 Drawable.jumpToCurrentState()
。
如果有一个StateListAnimator附加到这个视图,也调用 jumpToCurrentState()
。
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 . |
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. |
boolean onTouchEvent (MotionEvent ev)
实现此方法来处理触摸屏幕动作事件。
如果使用此方法检测点击操作,建议通过执行并调用performClick()
来执行操作。 这将确保一致的系统行为,包括:
ACTION_CLICK
when accessibility features are enabled Parameters | |
---|---|
ev |
MotionEvent : The motion event. |
Returns | |
---|---|
boolean |
True if the event was handled, false otherwise. |
void setChecked (boolean checked)
更改此按钮的选中状态。
Parameters | |
---|---|
checked |
boolean : true to check the button, false to uncheck it |
void setShowText (boolean showText)
设置是否显示开启/关闭文本。
相关XML属性:
Parameters | |
---|---|
showText |
boolean : true to display on/off text |
void setSplitTrack (boolean splitTrack)
指定曲目是否应该被大拇指分割。 如果属实,则拇指的光学边界将从可绘制的轨道中剪切出来,然后拇指将被拉入所产生的间隙中。
相关XML属性:
Parameters | |
---|---|
splitTrack |
boolean : Whether the track should be split by the thumb |
void setSwitchMinWidth (int pixels)
以像素为单位设置开关的最小宽度。 开关的宽度将是这个值的最大值,它的测量宽度由开关可绘制和使用的文本决定。
相关XML属性:
Parameters | |
---|---|
pixels |
int : Minimum width of the switch in pixels |
void setSwitchPadding (int pixels)
设置开关和相关文本之间的水平填充量。
相关XML属性:
Parameters | |
---|---|
pixels |
int : Amount of padding in pixels |
void setSwitchTextAppearance (Context context, int resid)
设置指定TextAppearance资源中的开关文本颜色,大小,样式,提示颜色和高亮颜色。
相关XML属性:
Parameters | |
---|---|
context |
Context
|
resid |
int
|
void setSwitchTypeface (Typeface tf)
设置文本应该在开关上显示的字体。 请注意,并非所有的字体系列实际上都有粗体和斜体变体,因此您可能需要使用setSwitchTypeface(Typeface, int)
才能获得您实际需要的外观。
相关XML属性:
Parameters | |
---|---|
tf |
Typeface
|
void setSwitchTypeface (Typeface tf, int style)
设置文本应显示在开关上的字体和样式,如果您提供的字体没有指定样式中的所有位,则打开“Paint”中的假粗体和斜体位。
Parameters | |
---|---|
tf |
Typeface
|
style |
int
|
void setTextOff (CharSequence textOff)
设置当按钮不处于选中状态时显示的文本。
相关XML属性:
Parameters | |
---|---|
textOff |
CharSequence
|
void setTextOn (CharSequence textOn)
设置按钮处于选中状态时显示的文本。
相关XML属性:
Parameters | |
---|---|
textOn |
CharSequence
|
void setThumbDrawable (Drawable thumb)
设置用于开关“拇指”的可绘图 - 用户可以物理触摸并沿轨道拖动的部分。
相关XML属性:
Parameters | |
---|---|
thumb |
Drawable : Thumb drawable |
void setThumbResource (int resId)
设置用于开关“拇指”的可绘图 - 用户可以物理触摸并沿轨道拖动的部分。
相关XML属性:
Parameters | |
---|---|
resId |
int : Resource ID of a thumb drawable |
void setThumbTextPadding (int pixels)
在交换机上绘制的文本周围设置水平填充。
相关XML属性:
Parameters | |
---|---|
pixels |
int : Horizontal padding for switch thumb text in pixels |
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 |
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 |
void setTrackDrawable (Drawable track)
设置交换机在其中滑动的轨道所使用的可绘图。
相关XML属性:
Parameters | |
---|---|
track |
Drawable : Track drawable |
void setTrackResource (int resId)
设置交换机在其中滑动的轨道所使用的可绘图。
相关XML属性:
Parameters | |
---|---|
resId |
int : Resource ID of a track drawable |
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 |
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 |
void drawableStateChanged ()
只要视图的状态发生变化,就会调用此函数,使得它影响所显示的可绘制状态。
如果View有一个StateListAnimator,它也将被调用来运行必要的状态改变动画。
重写此功能时,一定要调用超类。
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. |
void onDraw (Canvas canvas)
实施这个来做你的绘画。
Parameters | |
---|---|
canvas |
Canvas : the canvas on which the background will be drawn |
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 |
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. |