第一次写博客,其实几个月前就想写了,人太懒了。新年新气象,决定逼自己开始写博客,记录碰到的问题和心得。

项目中如果有登陆界面的一般都会用到checkbox,最近我的项目中也用到了checkbox。由于原生的复选框实在是太丑了,不忍直视,于是自定义了图标:android:button="@drawable/cb_selector"。文字和图标距离太近,于是加了:android:paddingLeft="5dp",结果发现在4.1和4.2的手机上效果不一样,4.1上的文字和复选框重叠了,而4.2上的效果是正常的。

查了很多资料,终于发现原来两个版本的paddingleft计算方法不一样,4.1中没有加上图标的宽度,4.2中计算时加上了图标的宽度,4.2以后的版本都是如此。怎么解决呢?最容易想到的方法当然是在代码中去判断当前系统的版本大小,然后代码设置padding

if(getAndroidSDKVersion()<=16){//4.1.2//此时padding要加上图标的宽度}

这样做有点麻烦,于是我找到了另一种方法:在xml布局中设置。亲测可用,显示效果都是一样。

android:button="@null"android:drawableLeft="@drawable/cb_selector"android:drawablePadding="5dp"android:paddingLeft="0dp"
   




更多相关文章

  1. Android Studio 2.2 发布,速度、智能和 Android 平台支持三个方面
  2. android user版本进行编译出现proguard错误混淆
  3. Android 如何改变应用图标
  4. Android App检测新版本,自动下载、安装和升级,兼容Android7.0以上
  5. android 创建快捷方式图标到桌面
  6. TabLayout 设置指示器宽度问题
  7. android圆角dialog,并限制宽度和高度
  8. Android获取高清app图标代码分享

随机推荐

  1. android关于EditText取消默认焦点及触摸
  2. 【Android】TextView动态设置android:dra
  3. Android ROM研究---Android build system
  4. 用native driver 对android 程序进行自动
  5. Android(安卓)多 Fragment 切换优化
  6. AIDL简单实例
  7. Android的Btimap处理大图片解决方法
  8. android开发环境搭建备忘
  9. Android自动测试之monkeyrunner工具(一)
  10. Android快速开发工具集合——YUtils