优雅的给LinearLayout设置分割线

优雅的给LinearLayout设置分割线

LinearLayout是我们使用很频繁的一个容器,而且大多数情况下我们需要给LinearLayout下面的child设置分割线或者设置相应的间距。   
  一般来说我们首先想到的是在child前后添加分割线的View和setMargin值来实现。这种方法虽然可以实现当前的效果,但是感觉实现起来麻烦,特别是当某个child需要隐藏的时候,我们还需要隐藏分割线,对于用margin设置间距的情况下,还可能出现ui显示异常。
  其实LinearLayout有个divider属性就是用来设置分割线的,Android提供三种方式设置分割线

  • SHOW_DIVIDER_BEGINNING //LinearLayout头部添加
  • SHOW_DIVIDER_MIDDLE //LinearLayout中间添加(即各child之间添加)
  • SHOW_DIVIDER_END //LinearLayout底部添加
xml实现
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  android:divider="@drawable/divider" 
  android:showDividers="middle"> 
  <View 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 
  <View 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" />
</LinearLayout> 
代码实现当然也可以在LinearLayout中找到相应的代码进行设置
  public void setDividerDrawable(Drawable divider); 
  public void setShowDividers(@DividerMode int showDividers);

用divider设置分割线,方便快捷还不会因为缺少某个child带来意想不到的ui上的bug。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容