1月 272017
 

  今天在使用switch控件的时候,发现他的宽度太大了,很丑

  因为给它设置了android:track属性,用算定义图片来显示开和关的状态,以为是这个图片引起的,去掉后发现宽度没有变化,换了一堆属性switchPadding, thumbTextPadding,发现修改后都无效,设置固定宽度layout_width会造成switch的背景显示不全,看Switch的源码,发现有一个mSwitchMinWidth变量,并且该变量参与了宽度的计算,修改后发现起作用了,特此记录...

  控制宽度的方法:

1.修改android:switchMinWidth属性

2.修改android:scaleX属性:也可以达到效果,但是缩小后左右会有空白(未深度研究)

1月 072017
 

  Switch组件使用了android:track属性,设置了背景图片,但是宽度显示不全,经查track属性设置的图片并未参与Switch的高度的计算,所以当track图片的高度过高时就会显示不全.

  解决办法:

  1. 给Switch组件设置一个大的字体大小值,比如textSize=”25dp”,这样整体高度就会变大
  2.  给Switch设置一个大的padding值

  相比之下博主认为第一个方法比较合理一些