Android开发消除横向排列的多个Button之间的空隙

蓝桥杯历年真题分类汇总(史上最全版本,一定不要错过) 天再高又怎样,踮起脚尖就更接近阳光。 满满的 题型总结​ 历年真题​ 视频讲解​ 比赛技巧 题型总结 2021 2020 2019 2018 2017 2016 2015 2014 2013 ... 阅读详情

一.问题重述

 

摘要里描述的可能不太清楚,问题如下图:

如何消除Button1和Button2之间的空隙,以及Button与左右边界之间的空隙?

二.问题根源

这里出现的空隙其实是Button的背景图片中的透明部分,如下图:(两个按钮被同时按下)

因为间隙是Button自身的一部分,所以设置margin和padding为0也无法消除(至于把margin设置为负值,额,这算解决方案吗?)

三.解决方案及验证

  1. 设置Button的style属性:
    <Button style="?android:attr/buttonBarButtonStyle"/>
    

    (初始)

    (两个按钮都被按下)

    方案1的效果:可以消除间隙,并且不影响按钮默认的点击效果(背景变蓝)

  2. 设置Button的style为自定义style(或者直接设置Button的background属性为自定义图片):
    <style name="mybutton">
        <item name="android:background" >@drawable/whitecolor</item>
        <item name="android:padding">0dp</item>
        <item name="android:gravity">center</item>
    </style>
    

    (初始/按下)

    方案2的效果:可以消除间隙,但按钮默认的点击效果没了

  3. 设置Button的background为透明色:
    android:background="#00000000"
    

    (初始/按下)

    方案3的效果:可以消除间隙,但按钮默认的点击效果没了(和方案2效果一样)

  4. 把LinearLayout换为TableLayout:
    <TableLayout
        android:stretchColumns="*"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        <TableRow>
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="0"
                android:text=" Button1" />
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="1"
                android:text=" Button2" />
        </TableRow>
    </TableLayout>
    

    方案4的效果:无法消除间隙

  5. 自定义selector作为Button背景:
    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/highlight"
            android:state_pressed="true"></item>
        <item android:drawable="@drawable/normal"></item>
    </selector>
    
    android:background="@drawable/bg_btn"
    

    (左边按钮被按下)

    方案5的效果:可以消除间隙,并且不影响按钮的默认点击效果(和方案1的效果类似,比方案1更好一些,可以自定义按钮背景)

四.总结

消除按钮间隙的关键在于改background属性,用边框不含透明色的图片作为按钮的背景即可消除间隙

消除按钮间隙建议使用方案5:自定义selector作为按钮背景图片

Qt Creator设计器里也能拖拽?5步将你的QML自定义控件变成可视化插件(Qt6.5+) 本文详细介绍了如何在Qt Creator设计器中实现QML自定义控件的可视化拖拽功能(Qt6.5+)。通过5个步骤,从构建可插件化的QML控件基础到部署插件到设计器环境,帮助开发者将自定义控件转化为设计器插件,提升团队协作效率。特别适合需要频繁调整UI样式的开发场景。 阅读详情

相关推荐

沧小海深入剖析xilinx的GTP/GTX核,掌握高速串行收发机制——第六章 接收端结构及功能说明

总目录在这哦~ https://blog.youkuaiyun.com/z123canghai/article/details/107700878 第六章 接收端结构及功能说明 子目录 6.1 RX的模拟前端 6.2 RX的OOB信号 6.3 RX的均衡器 6.4 RX的CDR 时钟数据恢复 6.5 RX时钟输出结构 6.6 RX 的极性控制 6.7 RX 的PRBS 6.8 Rx字节、字的对齐功能 6.9 Rx接收弹性缓冲区 6.10 Rx的时钟纠正 6.11 Rx接收通道绑定 6...

滄海的博客 1万+

Android开发-去除两个相邻button按钮之间的默认间隔

两个相邻的button按钮之间默认间距是8dp,实际开发之中有时候8dp的距离会影响整个界面美感,可以在控件中设置如下: 第一种方法(推荐) android:layout_marginLeft="-8dp" android:layout_marginStart="-8dp" 或者(不加marginStart不推荐,但可行): android:layout_marginLeft="-8dp" 修...

leechoy 7130

华为防火墙NAT避坑指南:当双ISP出口遇到服务器发布,这些细节不注意会翻车

本文深入解析华为防火墙在双ISP出口环境下服务器发布的实战配置,重点探讨no-reverse参数对Server-Map表的影响、源进源出功能的实现及线路切换时的会话保持问题。通过策略路由和智能选路技术,确保HTTP/FTP服务在多运营商链路中的高可用性,避免路径不对称和NAT映射冲突等常见陷阱。

weixin_30897233的博客 548

android去掉两个Button之间的间距

android的button之间会有一定间隔。如何去除两个button之间的间隔? 图像 1.png  要用到android:layout_marginLeft等参数调整,而且LinearLayout和RelativeLayout都可以的,不过需要注意的是: 外边框:android:layout_marginLeft等参数的默认数值为

专注Android开发 1万+

Qt 侧边菜单栏+堆叠窗口stackedWidget

效果如下:环境:Qt 6.6.2 MSVC2019 64bit。

weixin_41033231的博客 1568

YOLO-V8训练自己的数据集之标注样本

四、标注样本 4.1、标注样本概述 4.1.1、样本标注主要方法 4.1.2、标注样本概念 4.1.3、标注样本实现方式 4.1.4、常见标注样本软件 4.2、标注工具LabelImg 4.2.1、LabelImg介绍 4.2.2、LabelImg特点 4.2.3、LabelImg安装方法 4.2.4、LabelImg使用方法 4.3、标注样本实操 4.3.1、安装标注软件Labelimg 4.3.2、Labelimg界面介绍 4.3.3、LabelImg实操过程中常

qq_29633789的博客 662

Android Button有默认padding值的元凶!!!

刚给群里的小伙伴实现了一个自定义view,效果图如下当我正准备开心地告诉小伙伴我已经实现好了的时候,这个b没装好哈~~~为了跟小伙伴发的效果图达到几乎相似的效果,于是打算把button按钮样式也给写了(原谅我处女座哈!!)就是控件最下方的那两个按钮,看到这个按钮样式的时候,小伙伴是不是也第一时间想到定义一个shape文件就好了呢,所以我就去定义了一个shape文件:<?xml version="1.

vv_bug 1万+

YOLOv11 改进 - 下采样 | 轻量化突破:ADown 下采样让 YOLOv11 参量减、精度升

本文介绍了一种轻量级的特征下采样模块 ADown,它结合平均池化与最大池化策略,实现更有效的信息保留与压缩。在传统卷积网络中,特征下采样常造成信息损失,而 ADown 通过双通道并行结构优化了下采样效果,提升了模型的表达能力。在 YOLOv11 中引入 ADown 替换原有的下采样模块后,网络在保持高效性的同时,显著提升了目标检测的精度与稳定性。文章详细介绍了 ADown 的核心代码实现、模块注册流程以及 YOLOv11-ADown 模型的配置和训练方法,为轻量化目标检测模型的优化提供了实用参考。

魔改工程师的博客 1480

android 多个按钮排列,Android开发消除横向排列的多个Button之间的空隙

一.问题重述摘要里描述的可能不太清楚,问题如下图:如何消除Button1和Button2之间的空隙,以及Button与左右边界之间的空隙?二.问题根源这里出现的空隙其实是Button的背景图片中的透明部分,如下图:(两个按钮被同时按下)因为间隙是Button自身的一部分,所以设置margin和padding为0也无法消除(至于把margin设置为负值,额,这算解决方案吗?)三.解决方案及验证设置B...

weixin_36486277的博客 2025

YOLOv8 | 代码逐行解析(二) | 从yaml文件到模型定义(代码逐行注释,小白必看)

本文给大家带来的是YOLOv8项目的解读,之前给大家分析了YOLOv8的项目文件分析,这一篇文章给大家带来的是模型训练从我们的yaml文件定义到模型的定义部分的讲解,我们一般只知道如何去训练模型,和配置yaml文件,但是对于yaml文件是如何输入到模型里,模型如何将yaml文件解析出来的确是不知道的,本文的内容接上一篇的代码逐行解析(一) 项目目录分析,本文对于小白来说非常友好,非常推荐大家进行阅读,深度的了解模型的工作原理已经流程,下面我们从yaml文件来讲解。

Snu77的博客 1万+

ESP32-CAM 赋能 AI 视觉巡检小车:自主避障与目标追踪实现全解析

本文基于 ESP32-CAM 实现了低成本 AI 视觉巡检小车的核心功能,硬件成本<100 元,兼顾自主避障与目标追踪。算法升级:移植 YOLOv5nano 量化模型(INT8),提升目标检测精度(如识别巡检场景中的 “异常物体”“人员”);无线拓展:通过 MQTT 协议将巡检图像、距离数据上传到阿里云 / 腾讯云,实现远程监控;多传感器融合:增加温湿度(DHT11)、红外测温(MLX90614)模块,扩展巡检维度;路径规划:结合 SLAM 算法,实现自主建图与路径巡检。

weixin_42300449的博客 367

android横向排列 间隙,Android开发消除横向排列的多个Button之间的空隙

一.问题重述摘要里描述的可能不太清楚,问题如下图:如何消除Button1和Button2之间的空隙,以及Button与左右边界之间的空隙?二.问题根源这里出现的空隙其实是Button的背景图片中的透明部分,如下图:(两个按钮被同时按下)因为间隙是Button自身的一部分,所以设置margin和padding为0也无法消除(至于把margin设置为负值,额,这算解决方案吗?)三.解决方案及验证设置B...

weixin_29103191的博客 529

最新Python爬虫实战(入门爬虫篇)——案例20:某股票数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例针对某股票行情网的静态HTML页面,实现了全市场股票数据的全自动化爬取,覆盖了从抓包分析、请求模拟、数据解析到数据存储的完整爬虫流程,非常适合入门学习者巩固基础,核心知识点和实现要点总结如下:首先是页面分析的核心逻辑,静态HTML页面的数据爬取,核心在于通过浏览器开发者工具,完成完整的抓包分析和标签结构定位。我们不需要像动态页面那样找隐藏的API接口,只需要确认数据在主文档的HTML源码中,然后通过元素选择器,精准找到每个字段对应的标签,总结出统一的标签结构规律,就能实现批量数据提取。

努力让自己发光,对的人才能迎着光而来 19万+

自定义RadioButton样式并去除默认样式位置

做项目的遇到要自定义RadioButton的样式,在网上搜索了很多例子都没有完美解决,当android:button="@null"的是时候但它的位置还在,空出了很大一块,横向排列的时候不是很美观。试了很多办法终于解决了这个小问题就是把背景也设为"@null"  这样:android:background="@null" ,就可以了 它的也就没有了 空出的很大部分也没有了。 全部代码: <Ra

shenyuemei的专栏 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

inline与inline-block的渲染原理与实战选型指南

在CSS布局中,inline和inline-block是控制元素参与文本流方式的核心display值。它们并非简单的‘是否换行’之分,而是分别对应‘文字字符级嵌入’与‘行内独立盒子’两种渲染模型:前者受基线对齐约束、忽略宽高,后者完整支持盒模型但引入间隙与垂直对齐复杂性。理解其在行内格式化上下文(IFC)中的定位逻辑,是解决padding失效、空隙异常、vertical-align失准等高频问题的关键。该机制广泛应用于标签系统、导航栏、图标组合等需兼顾文本流兼容性与尺寸可控性的场景,尤其在IE11+兼容需求

weixin_33898876的博客 325

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Ue5 控件右键点击事件

Ue5 实现控件的右键点击事件

Wakiakia_的博客 2131

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

android中按钮间隔,Android布局有2个均匀间隔的按钮

我有这个布局正常工作,相对布局与文本视图和两个按钮均匀分布在它下面.android:layout_width="fill_parent"android:layout_height="wrap_content" android:padding="5px"android:visibility="gone"android:layout_below="@+id/ad"android:background=...

weixin_32943417的博客 799

android设置按钮半圆,Button实现一遍直角一边半圆和Button之间无距离

1.Button之间无距离:当我们在xml中写两个Button的时候他们的实际距离是8dp;想让我们的Button之间无距离的话只要把距离设置为-8dp即可:android:layout_marginLeft="-8dp"2.Button实现左边半圆右边直角或者右边半圆左边直角:实现左边半圆右边直角的:国控android:topLeftRadius="10dp"android:bottomRigh...

weixin_39631344的博客 811

android排版(布局)

帧布局 就是覆盖(覆盖之前的控件) FrameLayout 还有一种方式就是用x y轴去调位置 不过比较麻烦  &lt;TextView         android:id="@+id/textview1"         android:layout_width="match_parent"         android:layout_height="match_parent"    ...

sunshinedark的博客 1984

Android RadioGroup中横向、竖向布局RadioButton的问题

转载:http://blog.youkuaiyun.com/aminfo/article/details/7558308 RadioGroup默认的横向android:orientation="horizontal"、竖向布局android:orientation="vertical",无法设置每行显示的个数,只能全部横向显示或者竖向显示。 而通过线性布局模版后,RadioButton却变成不

lyen2010的专栏 1万+
上一篇: Java可变长参数
下一篇: 安卓的TextView文字居中
windscloud
博客等级 码龄9年 14粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值