Android随笔

Android开发遇到的问题

Posted by Zicon on November 22, 2018

“随手记录”

前言

开一个小模块稍微记录一些问题。


正文

SeekBar问题

在使用自定义SeekBar控件的过程中遇到了一个问题,设置的thumb进度点在左右两侧被遮挡。 对于这个问题,我在百度的过程中找到的答案都是千篇一律——“ 增加属性:android:thumbOffset=”0dip” ”! 然后,在实际使用中发现,按这样设置的确是不会有遮挡,但是进度点会与进度条有间隔,体现的效果就是进度点超前。 其实出现thumb被遮挡一般是由于写死了进度条的长度,而thumb进度点的图片一般又会比进度条稍大,以至于在左右两端会超出进度条的范围从而被父容器切割,所以就表现出被遮挡。 那么找到原因了(大概),就知道应该怎么修改了,SeekBar控件设置padding属性,如:

 android:paddingLeft="5dp" 
 android:paddingRight="5dp"

设置进度条长度,将进度条控制在父容器左右边界以内。当然,你设置 layout_margin是没有效的,如果大家有空可以亲自尝试对比两种设置方式的Design效果。

代码修改问题

代码修改、调整过程中总是会涉及对内核底层或外层模块的修改。这两种修改方法都各有利弊,在这里稍微总结一下。 底层:修改方便,通用性强;但是可能会对其他引用内核的外部模块造成影响。推荐当所有引用类都需要添加同样或可重用的方法时使用。 外层:修改繁琐,通用性差;修改后几乎不会对其他类造成影响,独立性强。推荐当需要添加方法的类互相之间没有联系时使用。 结合使用:编写专用类,在类中设置可重用方法,在外层类调用该类的方法,直接使用或重写使用。修改繁琐,通用性较好,独立性强。推荐当修改类较多且具有一定关联性时使用。


后记

这次的记录就完成,以后笔者会尽量更新该文档的!话说,猛汉王真好玩!做宝可梦不愿意醒~