Android 相对布局 各控件指之间的间距怎么设置

图片说明
就是图片上的四个控件之间都有一些间距,本人新手刚刚开始自学Android,不太熟悉布局,求大神指教
主要布局文件如下:
android:id="@+id/all_music"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/all_music" />

<Button
    android:id="@+id/file"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@id/file"
    android:layout_marginRight="0dip"
    android:text="@string/file" />
<Button 
    android:id="@+id/singer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/all_music"
    android:layout_marginBottom="0dip"
    android:text="@string/singer"/>
<Button 
    android:id="@+id/album"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/hot_rank"
    android:layout_toRightOf="@id/singer"
    android:layout_marginBottom="0dip"
    android:layout_marginRight="0dip"
    android:text="@string/album"
    />


请问是我对layout_marginRight 理解错误,还是怎么回事,为什么不能使两个按钮紧靠在一起?

0

9个回答

Button 自带的背景图片就有一定的边距,加上:
android:background="@android:color/transparent" 去除自带背景图片,边距就没有了。
再重新设置一个背景图片就行了。

5
STK_tianwen
天问 终于找到原因了
大约 4 年之前 回复
STK_tianwen
天问 回复STK_tianwen:
大约 4 年之前 回复
STK_tianwen
天问 那个竟然是个图片。。。
大约 4 年之前 回复

先设置两个控件之间的关系,比如torightof,toleftof,below,above之类的,然后再设置margin,这样就是相对于这两个控件的间距了。

2
myccsdn
mycnice 我就是这样设置的,但是还是有这个小的间隔
4 年多之前 回复

你是想去掉间距? android:layout_marginTop="-20dip",这里的值是可以是负的

2

android:layout_marginTop="25dip" //顶部距离
android:layout_marginLeft="15dip" //距离左边距

0
myccsdn
mycnice 请问 android:layout_marginRight 是不是 对应 layout_toRightOf指定的ID的右边缘距离?
4 年多之前 回复

每个button之间都有一个系统定义好的margin,所以他们是无法靠在一起的,就相当于,它会告诉其他组件,你离我远点,不要靠我靠的太近。。。。。

0

而且你在xml文件里设置的margin,只能让它们在它们之间能接受的最小距离之间相互靠近而已,并不能完全贴合。

0
myccsdn
mycnice 回复Lee_my_: 哦哦 谢谢了
4 年多之前 回复
Lee_my_
Lee_my_ 理论上是的,实际上我也没真正纠结过
4 年多之前 回复
myccsdn
mycnice 那就是说,这个间距没法去掉了,是吗?
4 年多之前 回复

在RelativeLayout中设置了一些关键的位置定义以后margin是不管用的,有一个办法可以解决你的问题,你在两个button中间加一个view,给view设置你想要的宽度,然后让两个button分别在这个view的两边就行了
android:id="@+id/singer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/all_music"
android:layout_toLeftOf="@+id/dir"
android:layout_marginBottom="0dip"
android:text="@string/singer"/>
android:id="@+id/dir"
android:layout_width="15dp"
android:layout_height="wrap_content"
/>
android:id="@+id/album"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/hot_rank"
android:layout_toRightOf="@id/dir"
android:layout_marginBottom="0dip"
android:layout_marginRight="0dip"
android:text="@string/album"
/>

0

试试用线性布局, 这样按钮能埃着

0
song_liang_liang
song_liang_liang LinearLayout
接近 4 年之前 回复

赞一个,现在遇到这个问题,正好帮我解决了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android 线性布局(LinearLayout)内各控件如何设置间距
在线性布局中无论orientation属性设为竖直还是水平都可以用layout_margin属性来控制布局内控件的间距。nnnandroid:layout_marginTop="10dp"// 当前控件上边缘与其他控件(布局)的间距nandroid:layout_marginBottom="10dp" //当前控件下边缘与其他控件(布局)的间距nandroid:layout_marginLeft...
代码中设置控件间距
在布局中设置间距比较简单,只需要使用android:layout_marginLeft等属性就可以了,有的时候要在代码中根据具体情况动态添加一些控件,在代码中设置间距 //列表中根据值加入ImageView,创建基础的ImageViewn private ImageView getBaseImageView(int sourceID){n ImageView imageView
动态的改变相对布局中控件的位置等属性
Recyclerview添加headerView,如果header不能充满父布局的宽度,需要单独设置LayoutParamsView header = getLayoutInflater().inflate(R.layout.header_evaluate_info, null);nLinearLayout.LayoutParams params = new LinearLayout.LayoutP
动态修改控件的间距或者大小
//LinearLayout随着具体的情况进行修改,包括RelativeLayout、GridLayoutManager、ViewGroup等nLinearLayout.LayoutParams lp = (LayoutParams) 控件.getLayoutParams(); nn//设置边距nlp.setMargins(30, 50, 22, 10); nn//设置宽高n控件.height...
ExpandableListView group和child的item间距设置以及多种布局等问题的解决
一、ExpandableListView中group和child的item之间的间距可以通过xml来配置,如下:&amp;lt;ExpandableListViewn android:id=&quot;@+id/listview&quot;n android:layout_width=&quot;match_parent&quot;n android:layout_height=&quot;match_parent&quot;n andro...
【Android自定义View实战】之自定义评价打分控件RatingBar,可以自定义星星大小和间距
在Android开发中,我们经常会用到对商家或者商品的评价,运用星星进行打分。然而在Android系统中自带的打分控件,RatingBar特别不好用,间距和大小无法改变。所以,我就自定义了一个特别好用的打分控件。在项目中可以直接使用,特别简单。下面直接上图:nnnnn效果图nnnn实现代码,有详细的注释nnn在attrs中声明的可以在xml中设置的变量nndeclare-styleable nam
相对布局RelativeLayout的子控件属性和操作
RelativeLayout是相对布局控件,它包含的子控件将以控件之间的相对位置或者子类控件相对父类容器的位置方式排列。nn子类控件常用属性nnandroid:layout_alignParentLeft n-子类控件相对当前父类容器靠左nnandroid:layout_alignParentTop n-子类控件相对当前父类容器靠上nnandroid:layout_marginLeft n-子类
Android 怎么去掉两个并列Button中间的距离
两个Button并列时,即使将其相邻的margin设置为0dp,其中间还是会显示一条细线,是因为系统会在两个相邻控件之间自动添加8dprn只要将其中一个Buttton在它们相邻相邻方向的margin设置为-8dp,即可。
CardView间距问题
表现:rn开发的时候在4.0+的版本,后来在5.0版本的时候CardView之间的间距没了。rn     rnrn解决方法:rnrncard_view:cardUseCompatPadding="true"rn在CardView配置添加以上语句,如下:rnrnrnxmlns:android="http://schemas.android.com/apk/res/android"n xmlns
相对布局在控件处于gone状态
在使用相对布局是,当我的一个参照控件处于gone状态时另外一个控件如需参照处于gone的那个控件需添加android:layout_alignWithParentIfMissing=&quot;true&quot;
Android布局中权重设置问题
现在Android中最为推荐的屏幕适应方案即为设置控件的权重weight,一般用于线性布局中。传统的 layout_weight 使用方法是将当前控件的 layout_width 和 layout_height都设置成 fill_parent, 这样就可以把控件的显示比例完全交给 layout_weight ;这样使用的话,就出现了 layout_weight 越小,显示比例越大的情况。不过对于 
android中GridView关于间距的属性值介绍
android:gravity n设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical 可以多选,用“|”分开。关联方法:setGravity (int gravity)nandr
设置listview展示数据每个item之间的间隔
n在布局文件的listview的控件上写如下代码:nnandroid:divider=&quot;#00000000&quot;nandroid:dividerHeight=&quot;18dp&quot;
PYQT5水平布局后垂直方向控件间距的调整方法
最近在做QT做界面设计,软件使用的是QTCreator4.2.1,pyqt5.8.1,使用水平布局做好界面后,在软件中也调整好了控件的间隔,达到了想要设计的效果,如下图。
flex 如何调整控件之间的间隙
在VGroup中放置很多控件,但控件之间默认有一定的间隙,我想让控件紧挨着  设置值 gap="0"rn 即可rngap="0"> rn............
关于rightBarButtonItems多个控件之间的间距调整。
今天项目有个需求,要求右侧导行栏添加三个控钮,想到用rightBarButtonItems包三个rightBarButtonItem,rn结果控件之间的间距没法调整,试过很多种方法都不行,结合网上一些思路及自己拓展,最终解决方案是在两rn个控件中间加个占位的Item.代码如下。rnrnrnrnrn    rnrn    self.switcherBtn = [selfrnaddButtonWith
Android menu菜单items间隔设置
在你的acticity主题中添加:n<item name="android:actionButtonStyle">@style/myActionButtonStyle</item>n设置需要的样式n <!--menu items 间隔设置-->n <style name="myActionButtonStyle" parent="Widget.AppCompat.ActionButton">
CSS中的固定布局和相对布局
在讲固定布局和相对布局之前先回顾一下流动布局、冻结布局以及绝对布局流动布局,不在流中,但是浮动元素的边界会影响内联元素的流动,分左浮动和右浮动,注意要配合宽度width属性一起使用 冻结布局: body下弄个div容器,嵌套所有内容,然后给这个容器设定宽度和左右margin设置成auto绝对布局: 不在流中,真的会被其它块元素完全忽视,注意其位置是相对于父元素而言固定布局不在流中,会被其它元素完全忽
Android 布局平分间距。想了好久终于找到了投机取巧的办法
在这4个文字中间的间距是等比的。我们还要关心到屏幕适配。第一次想到的就是在代码中动态的去控制。nn获取屏幕的跨度,然后减去最两边的距离是30dp,再减去每个text的宽度50dp,然后除以3就是每个文字的间距。然后动态的设置上去,只给第一个,第二个,第三个设置。nnnLinearLayout.LayoutParams params = new LinearLayout.LayoutParams(...
Android studio布局方式之线性布局和相对布局的结合
1、这是运行效果图rnrnrn2、分析得可以整体用线性布局,每一行用相对布局来实现。rn为了代码不重复太多,定义了两个style应用于RelativeLayout和每一个Textview,代码如下:rnrnstyle name="h_wrap_content">n item name="android:layout_width">match_parentitem>n item name
gridview设置两行之间的间距
gridview设置两行之间的间距rnrn android:verticalSpacing="2dp"
Android 中关于CheckBox、RadioButton、TextView设置图形与文字间距问题
&lt;CheckBoxn android:id="@+id/cb_child_model"n style="@style/CustomCheckboxTheme"n android:layout_width="wrap_content"n android:layout_height="55dp"n android:paddingBottom=...
android开发 自定义View实现TextView文本间距
一、应用背景:rn在工作中遇到凭证界面展示金额的时候,用原生TextView数字之间间距太小,于是想到自定控件来实现。rn二、具体实现:rnrnpublic class MoneyTextView extends View {n private float letterSpacing;//字符间距n private Paint letterPaint;//画笔n private Cha
相对布局里两个按钮居最中间
原理:定义一个透明的控件,让该控件居中,然后两个按钮分别在该透明控件的上方和下方即可。<TextView n android:id="@+id/tv_center"n android:layout_width="match_parent"n android:layout_height="30dp"n android:layout_centerI
Android 布局中 如何使控件居中
Android 布局中如何使控件居中rnrnrnrn标签:android   class   it   la   word   sp   ca   io   as   rn首先要分两种不同情况,在两种不同的布局方式下:LinearLayout 和RelativeLayoutrn1. LinearLayoutrna). android:layout_gravity="center_horizonta
LinearLayout, RelativeLayout,代码(动态)设置布局位置(线性布局,相对布局)
有些时候我们需要动态的设置-某些布局的位置,(也是代码适配)一:父布局是,线性布局:xml文件如下<LinearLayoutn android:layout_width="wrap_content"n android:layout_height="wrap_content"n android:orientation="horizont
ExtJs中table布局如何设置items之间的间距
直接上代码:nn nnn.contentTable td {n padding: 30px;n text-align: left;n}nnn注意:默认情况下,table布局中的子控件 text-align 为 center ,此处笔者不需要居中,所以可在此处重写 text-align 属性值。nn nn nn效果图:nnnn上图是默认的table布局,修改之后我们要的是下图所示:nnn...
TextView的间距
android的textview还是很容易调整的,属性android:textScaleX是调节textview的X轴的放大缩小的,它的值是一个float型。setTextScaleX(a.getFloat(attr, 1.0f));行间距,可以设置属性android:lineSpacingExtra或android:lineSpacingMultiplier。1、android:lineSpac...
NavigationDrawer 间距修改及延伸
google亲儿子View怎么修改新项目中,使用了NavigationDrawer 控件来做侧边栏。第一次使用NavigationDrawer, n踩坑是必不可少的。下面,来展示 NavigationDrawer 不需要自定义来快速修改布局。算是一种黑科技吧。NavigationDrawer 的详细是用过程(作者提出)不实用的 NavigationView 一个观点下面,就用黑科技来把不实用变成实用
Android studio中相对布局组件排列方式
android:gravity--各子组件摆放方式nandroid:ignoreGravity--那个组件不受前面组件所影响nnnRelativelayout.LayoutParamsnn在组件上设置的属性nandroid:layout_aboven位于另一个组件的上方nbelow下方ntoLeftof左侧ntoRightof右侧nn与父容器(布局管理器)那一边对齐nandroid:layout_...
Android-CheckBox和RadioButton调整间距(有坑,注意)
经常遇到设计师要求button部分和文字的添加间距,总结以下几种方式吧。 n- 修改button素材,将button素材周围添加透明区域 n缺点-增大图片素材,间距不好控制 n- 文字部分增加空格 n缺点-虽然控制相对方便,但是还是受限于字体的样式和大小对于空格的描述 n- button给@null,然后使用textview的特性,添加drawable,使用drawable的padding来控制
javaSwing 设置每个组件之间的间距
比如容器为JPanel,默认布局为FlowLayout,这时候加入两个JLabel,各个个JLabel之间会有距离rn如图rnrnrnrnrn绿色的是JPanel,白色的是JLabel,之间会有几个像素的缝隙。rn那么如何去掉这个缝隙呢,之前看网上有人说这样解决:rnJPanel.setBorder(new EmptyBorder(-5, 0, -5, 0));rnrnrnrn还有点效果:rnrn
Android中RelativeLayout布局各个xml相对布局属性的介绍和使用
在RelativeLayout类中的内部类LayoutParams提供了各种与相对布局有关的属性。nnandroid:layout_above,android:layout_below,android:layout_toLeftOf,android:layout_toRightOf:分别用于控制此组件与其他组件的相对位置为上下左右。注意它不是表达此组件位于其他组件的正上边,正下边,正左边,正右边,...
相对布局RelativeLayout详解
RelativeLayout与其他Layout的区别rn1、每个布局都有各自不同的属性,如LinearLayout有orientation和weight属性,但相对布局没有,相对布局,组件与组件之间是没有隔阂的,是可以相互重叠的!rn2、在相对布局里所有组件都默认为左对齐、顶对其,无LayoutGraivity属性!rn3、RelaytiveLayout特有的属性:rn 1、alignPar
Android中自定义RatingBar实现星星大小,数量,间距等的设置
系统中自带的RatingBar使用起来非常不方便,并且无法调整合适大小,于是自定义一个可自己调节星星数量,大小,间距等属性的RatingBar,详细了解请移步http://blog.csdn.net/zxc514257857/article/details/68670712
Android设置字间距和行间距
设置字间距用: nandroid:letterSpacingeg:android:letterSpacing = "1.2"其相关方法是 setLetterSpacing(float)设置行间距nandroid:lineSpacingExtra,直接设置行间距 neg:nandroid:lineSpacingExtra = "3.5sp"2.android:lineSpacingMultiplier
RecyclerView 设置item之间的间距
主要通调用调用recyclerView 的 setITemDecoration 方法rnrnAppinfoiItemDecoration decor = new AppinfoiItemDecoration(); //设置条目的间距nrecycler.addItemDecoration(decor);rnrnrnrnAppinfoiItemDecoration 继承RecyclerView.I
相对布局设置位置
有的时候有写布局总是非常相似或者只有一两个控件不一样,这个时候我们往往会考虑重复使用这个布局。如下图: n一个是秒杀的页面,一个是做返券的页面,两者的布局基本一样。比如我将价格跟倒计时放到一个相对布局里面,那么这时候就要根据不同的页面动态设置位置。(布局里面倒计时不能直接设置相对价格的右边,不然动态设置代码的时候无效) n布局代码: <RelativeLayout
recyclerview 设置条目间距
import android.content.Context;nimport android.graphics.Rect;nimport android.support.v7.widget.RecyclerView;nimport android.util.Log;nimport android.view.View;nnimport com.adnonstop.kidscamera.R;nn/**
一行代码搞定checkbox文字和复选框的图片间距问题 rediobutton同理
废话不说先上问题中的代码和效果图片rnrnrnrnrnrn<CheckBoxn android:layout_marginTop="10dp"n android:layout_marginLeft="15dp"n android:layout_width="match_parent"n android:layout_height="wrap_content"n and
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 云计算是指什么 nlp培训师是指