Most visited

Recently visited

SwitchCompat

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属性控制交换机标签中显示的文本,而offon文本控制拇指上的文本。 同样, textAppearance和相关的setTypeface()方法控制标签文本的字体和样式,而switchTextAppearance和相关的setSwitchTypeface()方法控制了该文字的switchTextAppearance

请参阅 Toggle Buttons指南。

Summary

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

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

android.support.v7.appcompat:switchPadding Minimum space between the switch and caption text

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

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()

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

void onInitializeAccessibilityEvent(AccessibilityEvent event)

使用有关此视图的信息初始化 AccessibilityEvent这是事件源。

void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info)

用关于此视图的信息初始化 AccessibilityNodeInfo

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

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

void onPopulateAccessibilityEvent(AccessibilityEvent event)

dispatchPopulateAccessibilityEvent(AccessibilityEvent)调用,给这个视图一个机会来填充具有文本内容的可访问性事件。

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.support.v7.appcompat:showText

是否绘制/关闭文本。

可能是一个布尔值,如“ true ”或“ false ”。

相关方法:

android.support.v7.appcompat:splitTrack

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

可能是一个布尔值,如“ true ”或“ false ”。

相关方法:

android.support.v7.appcompat:switchMinWidth

交换机组件的最小宽度

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

相关方法:

android.support.v7.appcompat:switchPadding

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

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

相关方法:

android.support.v7.appcompat:switchTextAppearance

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

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

相关方法:

android.support.v7.appcompat:thumbTextPadding

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

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

相关方法:

android.support.v7.appcompat:thumbTint

色调适用于可绘制的拇指。

可以是“ #rgb ”,“ #argb ”,“ #rrggbb#aarrggbb ”的形式的颜色值。

相关方法:

android.support.v7.appcompat:thumbTintMode

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

必须是下列常数值之一。

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]

相关方法:

android.support.v7.appcompat:track

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

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

相关方法:

android.support.v7.appcompat:trackTint

色调适用于赛道。

可能是一个颜色值,形式为“ #rgb ”,“ #argb ”,“ #rrggbb#aarrggbb ”。

相关方法:

android.support.v7.appcompat:trackTintMode

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

必须是下列常数值之一。

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]

相关方法:

android:textOff

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

可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;

相关方法:

android:textOn

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

可能是一个字符串值,使用'\\;' 转义字符如'\\ n'或'\\ uxxxx'作为unicode字符;

相关方法:

android:thumb

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

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

相关方法:

Public constructors

SwitchCompat

SwitchCompat (Context context)

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

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

SwitchCompat

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

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.

Public methods

draw

void draw (Canvas c)

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

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

drawableHotspotChanged

void drawableHotspotChanged (float x, 
                float y)

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

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

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

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

getCompoundPaddingLeft

int getCompoundPaddingLeft ()

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

Returns
int

getCompoundPaddingRight

int getCompoundPaddingRight ()

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

Returns
int

getShowText

boolean getShowText ()

相关XML属性:

Returns
boolean whether the on/off text should be displayed

getSplitTrack

boolean getSplitTrack ()

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

相关XML属性:

Returns
boolean

getSwitchMinWidth

int getSwitchMinWidth ()

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

相关XML属性:

Returns
int Minimum width of the switch in pixels

getSwitchPadding

int getSwitchPadding ()

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

相关XML属性:

Returns
int Amount of padding in pixels

getTextOff

CharSequence getTextOff ()

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

相关XML属性:

Returns
CharSequence

getTextOn

CharSequence getTextOn ()

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

相关XML属性:

Returns
CharSequence

getThumbDrawable

Drawable getThumbDrawable ()

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

相关XML属性:

Returns
Drawable Thumb drawable

getThumbTextPadding

int getThumbTextPadding ()

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

相关XML属性:

Returns
int Horizontal padding for switch thumb text in pixels

getThumbTintList

ColorStateList getThumbTintList ()

相关XML属性:

Returns
ColorStateList the tint applied to the thumb drawable

也可以看看:

getThumbTintMode

PorterDuff.Mode getThumbTintMode ()

相关XML属性:

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

也可以看看:

getTrackDrawable

Drawable getTrackDrawable ()

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

相关XML属性:

Returns
Drawable Track drawable

getTrackTintList

ColorStateList getTrackTintList ()

相关XML属性:

Returns
ColorStateList the tint applied to the track drawable

也可以看看:

getTrackTintMode

PorterDuff.Mode getTrackTintMode ()

相关XML属性:

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

也可以看看:

jumpDrawablesToCurrentState

void jumpDrawablesToCurrentState ()

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

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

onInitializeAccessibilityEvent

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.

onInitializeAccessibilityNodeInfo

void onInitializeAccessibilityNodeInfo (AccessibilityNodeInfo info)

使用关于此视图的信息初始化AccessibilityNodeInfo 基本实现设置:

子类应该重写此方法,调用超级实现,并设置其他属性。

如果 View.AccessibilityDelegate已通过调用指定 setAccessibilityDelegate(AccessibilityDelegate)onInitializeAccessibilityNodeInfo(View, AccessibilityNodeInfo)负责处理此调用。

Parameters
info AccessibilityNodeInfo: The instance to initialize.

onMeasure

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.

onPopulateAccessibilityEvent

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.

onTouchEvent

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

void setChecked (boolean checked)

更改此按钮的选中状态。

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

setShowText

void setShowText (boolean showText)

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

相关XML属性:

Parameters
showText boolean: true to display on/off text

setSplitTrack

void setSplitTrack (boolean splitTrack)

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

相关XML属性:

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

setSwitchMinWidth

void setSwitchMinWidth (int pixels)

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

相关XML属性:

Parameters
pixels int: Minimum width of the switch in pixels

setSwitchPadding

void setSwitchPadding (int pixels)

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

相关XML属性:

Parameters
pixels int: Amount of padding in pixels

setSwitchTextAppearance

void setSwitchTextAppearance (Context context, 
                int resid)

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

相关XML属性:

Parameters
context Context
resid int

setSwitchTypeface

void setSwitchTypeface (Typeface tf)

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

Parameters
tf Typeface

setSwitchTypeface

void setSwitchTypeface (Typeface tf, 
                int style)

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

Parameters
tf Typeface
style int

setTextOff

void setTextOff (CharSequence textOff)

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

相关XML属性:

Parameters
textOff CharSequence

setTextOn

void setTextOn (CharSequence textOn)

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

相关XML属性:

Parameters
textOn CharSequence

setThumbDrawable

void setThumbDrawable (Drawable thumb)

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

相关XML属性:

Parameters
thumb Drawable: Thumb drawable

setThumbResource

void setThumbResource (int resId)

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

相关XML属性:

Parameters
resId int: Resource ID of a thumb drawable

setThumbTextPadding

void setThumbTextPadding (int pixels)

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

相关XML属性:

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

setThumbTintList

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

也可以看看:

setThumbTintMode

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

void setTrackDrawable (Drawable track)

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

相关XML属性:

Parameters
track Drawable: Track drawable

setTrackResource

void setTrackResource (int resId)

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

相关XML属性:

Parameters
resId int: Resource ID of a track drawable

setTrackTintList

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

也可以看看:

setTrackTintMode

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

void toggle ()

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

Protected methods

drawableStateChanged

void drawableStateChanged ()

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

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

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

onCreateDrawableState

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

void onDraw (Canvas canvas)

实施这个来做你的绘画。

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

onLayout

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

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!