Android中Bitmap#createBitmap原始坐标问题:如何消除莫名间距?
Android界面莫名间距的解决方法
- 清除控件默认样式:很多系统控件(比如Button、TextView)自带默认padding/margin,比如Material Design风格的按钮就有内置边距。可以在控件代码里直接加
android:padding="0dp"和android:layout_margin="0dp"强制覆盖,或者自定义style去掉默认样式。 - 检查父容器属性:查看控件所在的LinearLayout、RelativeLayout等父布局,确认父布局有没有设置
android:padding,如果有直接设为0dp;同时排查父布局的android:layout_margin是否属于多余设置。 - 处理列表控件默认装饰:如果是RecyclerView或ListView出现间距,大概率是默认的ItemDecoration导致的。可以调用
recyclerView.removeItemDecoration(itemDecoration)清除,或者在布局里把android:dividerHeight设为0dp。 - 修复WebView默认间距:如果用到WebView,它自带内部padding,可通过
webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY)去除,或者在加载的HTML里设置<body style="margin:0;padding:0;">。 - 排查include布局:如果用
<include>引入了外部布局,要检查被引入布局的根节点有没有多余的margin/padding,也可以在include标签里加android:layout_margin="0dp"覆盖。 - 检查全局主题:全局主题可能给控件统一设置了间距,打开
styles.xml查看AppTheme的属性,去掉android:padding、android:margin相关配置,或者切换到无默认间距的主题。
内容的提问来源于stack exchange,提问作者jasa
相关产品推荐
相关产品推荐

