由于Android自带的Switch样式不能应用于所有UI风格的App,因此修改Switch样式是项目中经常要用到的技术,Switch的样式一般来说需要修改以下部分:按钮(thumb)、轨迹(track)以及大小。
首先我们经过尝试可以发现,如果我们直接在布局文件中修改Switch的属性layout_width和layout_height是无法修改Switch的真实大小的,相反只能改变这个Switch布局占的空间大小,Switch按钮的大小并没有发生改变。
在StackOverflow上搜索How to change the size of Switch Widget后,得到了答案(StackOverflow上的高票答案指出Switch大小是由track决定的,但是我自己尝试后发现Switch大小是由thumb决定的)。
实际上控件Switch的大小是由thumb也就是按钮大小决定的,track轨迹会适应thumb的大小,因此若是我们想改变Swicth的大小,我们需要改变Thumb的大小。
下面我们自己写一个thumb,取名为my_thumb.xml
<?xml version="1.0" encoding="utf-8"?>