public class SwitchCompat
extends CompoundButton
java.lang.Object | |||||
↳ | android.view.View | ||||
↳ | android.widget.TextView | ||||
↳ | android.widget.Button | ||||
↳ | android.widget.CompoundButton | ||||
↳ | android.support.v7.widget.SwitchCompat |
SwitchCompat是Switch设备返回到API v7的一个版本。 它不会尝试在通常可用的设备上使用平台提供的小部件。
Switch是一个双态切换开关小部件,可以在两个选项中进行选择。 用户可以前后拖动“拇指”来选择所选的选项,或者只需点击切换,就好像它是一个复选框。 text
属性控制交换机标签中显示的文本,而off
和on
文本控制拇指上的文本。 同样, textAppearance
和相关的setTypeface()方法控制标签文本的字体和样式,而switchTextAppearance
和相关的setSwitchTypeface()方法控制了该文字的switchTextAppearance
。
请参阅 Toggle Buttons指南。
XML attributes |
|
---|---|
android.support.v7.appcompat:showText |
Whether to draw on/off text. |
android.support.v7.appcompat:splitTrack |
Whether to split the track and leave a gap for the thumb drawable. |
android.support.v7.appcompat:switchMinWidth |
Minimum width for the switch component 可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ |
android.support.v7.appcompat:switchPadding |
Minimum space between the switch and caption text 可能是一个尺寸值,这是一个浮点数,后面跟着一个单位,例如“ |
android.support.v7.appcompat:switchTextAppearance |
TextAppearance style for text displayed on the switch thumb. |
android.support.v7.appcompat:thumbTextPadding |
Amount of padding on either side of text within the switch thumb. |
android.support.v7.appcompat:thumbTint |
Tint to apply to the thumb drawable. |
android.support.v7.appcompat:thumbTintMode |
Blending mode used to apply the thumb tint. |
android.support.v7.appcompat:track |
Drawable to use as the "track" that the switch thumb slides within. |
android.support.v7.appcompat:trackTint |
Tint to apply to the track. |
android.support.v7.appcompat:trackTintMode |
Blending mode used to apply the track tint. |
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:thumb |
Drawable to use as the "thumb" that switches back and forth. |
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 |
|
---|---|
SwitchCompat(Context context) 使用默认样式构建一个新的交换机。 |
|
SwitchCompat(Context context, AttributeSet attrs) 使用默认样式构造一个新的Switch,根据请求覆盖特定的样式属性。 |
|
SwitchCompat(Context context, AttributeSet attrs, int defStyleAttr) 使用由给定主题属性确定的默认样式构造一个新的Switch,根据请求覆盖特定的样式属性。 |
Public methods |
|
---|---|
void |
draw(Canvas c) 手动将此视图(及其所有子项)呈现给定的Canvas。 |
void |
drawableHotspotChanged(float x, float y) 只要视图热点更改并需要将其传播到视图管理的可绘制视图或子视图,就会调用此函数。 |
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 |
onInitializeAccessibilityEvent(AccessibilityEvent event) 使用有关此视图的信息初始化 |
void |
onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) 用关于此视图的信息初始化 |
void |
onMeasure(int widthMeasureSpec, int heightMeasureSpec) 测量视图及其内容以确定测量宽度和测量高度。 |
void |
onPopulateAccessibilityEvent(AccessibilityEvent event) 从 |
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
”。
相关方法:
是否分开轨道并留下可绘制拇指的间隙。
可能是一个布尔值,如“ true
”或“ false
”。
相关方法:
交换机组件的最小宽度
可能是尺寸值,这是一个浮点数,后面跟着一个单位,如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
相关方法:
开关和标题文本之间的最小空间
可能是一个维度值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
相关方法:
TextAppearance style用于显示在开关拇指上的文本。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
相关方法:
切换器拇指内的文本两侧的填充量。
可能是一个维度值,它是一个浮点数,后面跟着一个单位,例如“ 14.5sp
”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。
相关方法:
色调适用于可绘制的拇指。
可以是“ #rgb
”,“ #argb
”,“ #rrggbb#aarrggbb
”的形式的颜色值。
相关方法:
混合模式用于应用拇指色调。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
add | 10 | Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D) |
multiply | e | Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc] |
screen | f | [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] |
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] |
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_over | 3 | The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] |
相关方法:
可用作开关拇指滑入其中的“轨道”。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
相关方法:
色调适用于赛道。
可能是一个颜色值,形式为“ #rgb
”,“ #argb
”,“ #rrggbb#aarrggbb
”。
相关方法:
混合模式用于应用曲目色调。
必须是下列常数值之一。
Constant | Value | 描述 |
---|---|---|
add | 10 | Combines the tint and drawable color and alpha channels, clamping the result to valid color values. Saturate(S + D) |
multiply | e | Multiplies the color and alpha channels of the drawable with those of the tint. [Sa * Da, Sc * Dc] |
screen | f | [Sa + Da - Sa * Da, Sc + Dc - Sc * Dc] |
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] |
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_over | 3 | The tint is drawn on top of the drawable. [Sa + (1 - Sa)*Da, Rc = Sc + (1 - Sa)*Dc] |
相关方法:
当开关处于未选中/“关闭”状态时要使用的文本。
可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;
相关方法:
当开关处于选中/“开启”状态时要使用的文本。
可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;
相关方法:
可以用作来回切换的“拇指”。
可能是另一种资源的引用,其形式为“ @[+][package:]type/name
”或形式为“一个主题属性 ?[package:]type/name
”。
相关方法:
SwitchCompat (Context context)
使用默认样式构建一个新的交换机。
Parameters | |
---|---|
context |
Context : The Context that will determine this widget's theming. |
SwitchCompat (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. |
SwitchCompat (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. |
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 |
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 |
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 onInitializeAccessibilityEvent (AccessibilityEvent event)
使用有关此视图的信息初始化AccessibilityEvent
这是事件源。 换句话说,可访问性事件的来源是其状态改变触发事件触发的视图。
示例:除了由超级实现设置的属性之外,还设置事件的密码属性:
public void onInitializeAccessibilityEvent(AccessibilityEvent event) { super.onInitializeAccessibilityEvent(event); event.setPassword(true); }
如果 View.AccessibilityDelegate
已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)
其 onInitializeAccessibilityEvent(View, AccessibilityEvent)
负责处理此调用。
注意:在向事件添加信息之前始终调用超级实现,以防缺省实现具有要添加的基本信息。
Parameters | |
---|---|
event |
AccessibilityEvent : The event to initialize. |
void onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info)
使用关于此视图的信息初始化AccessibilityNodeInfo
。 基本实现设置:
setParent(View)
,setBoundsInParent(Rect)
,setBoundsInScreen(Rect)
,setPackageName(CharSequence)
,setClassName(CharSequence)
,setContentDescription(CharSequence)
,setEnabled(boolean)
,setClickable(boolean)
,setFocusable(boolean)
,setFocused(boolean)
,setLongClickable(boolean)
,setSelected(boolean)
,setContextClickable(boolean)
子类应该重写此方法,调用超级实现,并设置其他属性。
如果 View.AccessibilityDelegate
已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)
其 onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo)
负责处理此调用。
Parameters | |
---|---|
info |
AccessibilityNodeInfo : The instance to initialize. |
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 onPopulateAccessibilityEvent (AccessibilityEvent event)
从dispatchPopulateAccessibilityEvent(AccessibilityEvent)
调用,给这个视图一个机会来填充它的文本内容的可访问性事件。 虽然此方法可自由修改文本内容以外的事件属性,但通常应在onInitializeAccessibilityEvent(AccessibilityEvent)
执行onInitializeAccessibilityEvent(AccessibilityEvent)
。
示例:除超级实现添加的文本外,还将格式化的日期字符串添加到辅助功能事件中:
public void onPopulateAccessibilityEvent(AccessibilityEvent event) { super.onPopulateAccessibilityEvent(event); final int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY; String selectedDateUtterance = DateUtils.formatDateTime(mContext, mCurrentDate.getTimeInMillis(), flags); event.getText().add(selectedDateUtterance); }
如果 View.AccessibilityDelegate
已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)
其 onPopulateAccessibilityEvent(View, AccessibilityEvent)
负责处理此调用。
注意:在向事件添加信息之前始终调用超级实现,以防缺省实现具有要添加的基本信息。
Parameters | |
---|---|
event |
AccessibilityEvent : The accessibility event which to populate. |
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)
才能获得您实际需要的外观。
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(Drawable, 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)
调用将自动改变drawable,并使用 setTintList(Drawable, 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 toggle ()
将视图的选中状态更改为当前状态的反转状态
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. |