请问大佬Android rstudio 窗口布局调整里的布局位置

Android开发自学笔记(Android Studio)—4.1布局组件
我的图书馆
Android开发自学笔记(Android Studio)—4.1布局组件
一、引言 Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。在Android4.0之前,我们通常说Android开发五大布局和四大组件,这五大布局就是:
LinearLayout 线性布局 FrameLayout 单帧布局,也有中文翻译为帧布局、框架布局。 RelativeLayout 相对布局 AbsoluteLayout 绝对布局 TableLayout 表格布局
而在Android4.0之后又新增了一种GridLayout网格布局。
二、LinearLayout线性布局 线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:orientation”属性可以设置线性布局的方向。属性值有垂直(vertical)和水平(horizontal)两种。线性布局的排列在某行或者某列并不会自动换行或换列,就是说如果采用水平布局,控件宽度超过屏幕显示的话,后面的控件都将被隐藏,不会自动换行。
常用的属性有:
android:orientation:可以设置布局的方向 android:id - 为控件指定相应的ID android:text - 指定控件当中显示的文字,需要注意的是,这里尽量使用string.xml android:gravity - 指定控件的基本位置,比如说居中,居右等位置 android:textSize - 指定控件当中字体的大小 android:background - 指定控件所用的背景色,RGB命名法 android:layout_width - 指定控件的宽度 android:layout_height - 指定控件的高度 android:layout_weight - 指定控件的占用比例 android:padding - 指定控件的内边距,也就是说控件当中的内容 android:sigleLine - 如果设置为真的话,则将控件的内容显示在一行当中
layout_weight属性以控制各个控件在布局中的相对大小。layout_weight属性是一个非负整数值;线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight值之和的比值为该控件分配占用的区域。例如,在水平布局的LinearLayout中有两个Button,这两个Button的layout_weight属性值都为1,那么这两个按钮都会被拉伸到整个屏幕宽度的一半。如果layout_weight指为0,控件会按原大小显示,不会被拉伸;对于其余layout_weight属性值大于0的控件,系统将会减去layout_weight属性值为0的控件的宽度或者高度,再用剩余的宽度或高度按相应的比例来分配每一个控件显示的宽度或高度。
线性水平布局代码和示意图如下:
线性垂直布局代码和示意图如下(android:orientation通过修改该属性值控制水平或者垂直):
布局也是可以嵌套的,代码和示意图如下:
三、FrameLayout单帧布局 FrameLayout是布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。 代码及显示效果图如下:
可以看到3个按钮组件都有重叠的部分,单帧布局不会像线性布局那样每个组件之间自动对齐。
对于单帧布局的使用场景我还是有所疑惑的,不知道这种布局方式会用在什么场景下,不过我看了这一篇文章倒是略有感触,分享一下,或许也能给大家些启发:
四、RelativeLayout相对布局 RelativeLayout(相对布局)是除线性布局之外最常用的,它相对于线性布局来说比较灵活,在进行组件布局的时候用线性布局往往需要进行布局嵌套,而相对布局就不会那么麻烦,每个组件都可以指定与其它组件或父组件的位置,只是必须通过ID来进行指定。RelativeLayout按照各子元素之间的位置关系完成布局。在此布局中的子元素里与位置相关的属性将生效。例如android:layout_below, android:layout_above等。子元素就通过这些属性和各自的ID配合指定位置关系。注意在指定位置关系时,引用的ID必须在引用之前,先被定义,否则将出现异常。 代码及演示示例如下:
补充一下用到的属性的说明:
表1.组件之间的位置关系属性
属性名称 作用说明
android:layout_above
将组件放在指定ID组件的上方
android:layout_below
将组件放在指定ID组件的下方
android:layout_toLeftOf
将组件放在指定ID组件的左方
android:layout_toRightOf
将组件放在指定ID组件的右方
表2.组件对齐关系属性
android:layout_alignBaseline
将该组件放在指定ID组件进行中心线对齐
android:layout_alignTop
将该组件放在指定ID组件进行顶部对齐
android:layout_alignBottom
将该组件放在指定ID组件进行底部对齐
android:layout_alignLeft
将该组件放在指定ID组件进行左边缘对齐
android:layout_alignRight
将该组件放在指定ID组件进行右边缘对齐
表3.当前组件与父组件对齐关系属性
android:layout_centerHorizontal
将该组件放置在水平方向中央的位置
android:layout_centerVertical
将该组件放置在垂直方向的中央的位置
anroid:layout_centerInParent
将该组件放置在父组件的水平及垂直中央
而对于相对布局的属性,这里也推荐一篇博文供大家参考学习:
五、AbsoluteLayout绝对布局
AbsoluteLayout(绝对布局)布局用法如其名,组件的位置可以准确的指定其在屏幕的x/y坐标位置。虽然可以精确的去规定坐标,但是由于代码的书写过于刚硬,使得在不同的设备,不同分辨率的手机移动设备上不能很好的显示应有的效果,所以此布局不怎么被推荐使用。在此布局中的子元素的android:layout_x和android:layout_y属性将生效,用于描述该子元素的坐标位置。屏幕左上角为坐标原点(0,0),第一个0代表横坐标,向右移动此值增大,第二个0代表纵坐标,向下移动,此值增大。在此布局中的子元素可以相互重叠。 在实际开发中,通常不采用此布局格式。
虽然实际开发总已经不推荐使用该布局,不过我们还是了解一下他的使用方法(不做详细介绍,感兴趣的自行去查找文档),代码和示意图如下:
六、TableLayout表格布局 TableLayout顾名思义,此布局为表格布局,适用于N行N列的布局格式。一个TableLayout由许多TableRow组成,一个TableRow就代表TableLayout中的一行。
TableRow是LinearLayout的子类,它的android:orientation属性值恒为horizontal,并且它的android:layout_width和android:layout_height属性值恒为MATCH_PARENT和WRAP_CONTENT。所以它的子元素都是横向排列,并且宽高一致的。这样的设计使得每个TableRow里的子元素都相当于表格中的单元格一样。
在TableRow中,单元格可以为空,但是不能跨列。
下面我们使用表格布局编写示例代码做一个三行三列的布局:
TableLayout不复杂,使用也就是这么简单,下面补充几个常用属性的作用:
1.shrinkColumns属性:以0为序,当TableRow里面的控件布满布局时,,指定列自动延伸以填充可用部分;当TableRow里面的控件还没有布满布局时,shrinkColumns不起作用。
我们在布局代码中加入该属性时会发现没有发生变化,因为TableRow里面的控件还没有布满布局,修改代码如下就可以看到效果:
2.strechColumns属性,以第0行为序,指定列对空白部分进行填充。代码及效果如下:
3.collapseColumns属性:以0行为序,隐藏指定的列。这个比较容易理解,代码及效果如下:
4.layout_column属性:以0行为序,设置组件显示指定列
5.layout_span属性:以第0行为序,设置组件显示占用的列数。
这两个属性之所以放一起,因为有些事项需要说明,先看代码和效果图:
注意:从示意图可知:Button1被设置了占用了2列,Button4被设置显示在地2列,但代码指定Button5显示在第1列,但没有按照设定显示,这样可知TableRow在表格布局中,一行里的组件都会自动放在前一组件的右侧,依次排列,只要确定了所在列,其后面的组件就无法再进行位置的设置。
七、GridLayout网格布局 GridLayout网格布局是Android4.0之后新加入的布局方式,与TableLayout大同小异,不过也新增了一些内容:
1.可以设置容器中组件的对其方式。 2.容器中的组件可以跨多行也可以跨多列 需要注意的是因为是Android4.0之后新增的,所以API Level14之前的SDK无法直接使用,还想使用的话就自己去百度方法,这里不再说,因为我觉得应该很少人再做4.0之前的程序了吧?
先看示例代码吧,这个网格布局做计算器示例应该是最简单的:
说明: rowCount和columnCount是定义了行和列,就是这个布局定义了6行4列。这里layout_columnSpan是指占用了几列,在示例代码中,“BackSpace”和”Clear“按钮都占用了2列,其他按钮默认都是占用1行1列。其中layout_rowSpan是占用了几行,这里不再写示例,各位可以自行实验,再通过将layout_gravity设置为fill就是填满占用的行或列。
其它扩展的内容各位可以查找对应的API说明文档进行学习。
TA的最新馆藏
喜欢该文的人也喜欢欢迎转载,但请保留文章原始出处&_&&
生命壹号:
文章来源:
【本文的版本更新】
时,第一次着手写本文,此时的Android Studio版本为1.1。
时,将Android Studio更新为1.2版本,然后博文也随之更新啦。
时,将Android Studio更新为2.1版本,然后博文也随之更新啦。
&PS:大家不用担心这篇文章会过时,因为随着Android Studio的版本更新,本文也随之更新。
最近网上流行起了程序猿鼓励师的段子,鼓励师的报酬比程序猿还高,想想也确实是个不错的职位,什么?你没听说过?翻到本文最后面,爆图。
之前写一篇博客:,之前的那篇可以凑合着看一下。当时Andriod Studio还处在测试版,现在Android Studio已经升级到稳定版了,决定还是重新写一下图文教程,让那些还在死抱着eclipse不放的人(包括自己)跨过这道坎。
【开发环境】
物理机版本:Win7旗舰版(64位)
Android Studio版本:2.1正式版
【Android Studio的优势】
基于Gradle的构建支持
Android特定重构和快速修复
更加丰富的模板代码,让创建程序更简单
提示工具更好地对程序性能、可用性、版本兼容和其他问题进行控制捕捉
直接支持ProGuard和应用签名功能;
自带布局编辑器,可以让你拖放UI组件,并在多个屏幕配置上预览布局等;
内置Google云支持;
内置svn、git工具支持;
支持插件,eclipse有的,Android Studio里基本都能找到。
2.0之后,支持NDK了。
&Android Studio下载的绿色通道:
一、第一次安装:
温馨提示:在安装Android Studio之前,建议先提前准备好单独的Android SDK,这个可以在网站下载。以前用Eclipse做过Android开发的人,就可以用现成的Android SDK。
Android Studio安装完成后,第一次启动AS前,为了避免重新下载新版本的SDK,需要做如下操作:
AS启动前,打开安装目录,请先将bin目录的idea.properties文件中增加一行:disable.android.first.run=true就行了,避免第一次打开AS时自动重新下载SDK。mac平台的右键安装包-&Show Package Contents 就找到bin目录了。
第一次打开Android Studio时,需要配置JDK和SDK:
上图中,选择&Project Structure&,弹出如下界面:(选择JDK和Android SDK的路径)
&注:不要问我JDK和Android SDK怎么来的吧?JDK需要提前安装好,Android SDK需要提前准备好,这种帖子一搜一大把,大家自行查找。&
当然,以后我们在使用Android Studio 的时候,也可以随时修改JDK和Android SDK的路径。选择「File--&Other Settings--&Default Sructure」,即可进行同样的修改。
二、新建一个Android Studio工程:
配置好JDK和Android SDK后,就可以开始新建Android项目了:
上图中,设置好工程名和路径之后,接下来可以一路next:
&&用户如果是第一次安装Android Studio,会出现如下窗口:
上图中,是在下载最新版的SDK(API 23),几分钟就下载好了,由于访问的是国外的网站,建议FQ。继续下一步:
上图中,点击&finish&按钮,应用即可创建完成。&
用户如果是第一次安装Android Studio,会出现如下窗口:
上图中,是在下载Gradle,文件不大,大概几十兆吧,下载起来很快。由于访问的是国外的网站,建议。
PS:有些童鞋由于没有科学上网的方式,导致Gradle无法下载,这个问题大家自行网上查一下答案(无法科学上网的Android程序员,不是一名合格的程序员)。
三、Android Studio的简单设置:
1、主题修改:
可能大家会觉得软件的界面不太好看,我们可以换一下主题。选择菜单栏&File--settings--apperance--theme&,主题选择Darcula:
2、导入第三方主题:
系统提供的两种主题可能都不太好看,我们可以进入网站来获取第三方主题,比如说Sublime主题就是我个人喜爱的:
上图中,下载下来之后,是一个jar包。那怎么导入到Android Studio呢?
别着急,回到Android Studio,选择菜单栏& File-Import Settings&,将下载好的jar包导入即可。
3、代码字体修改:
选择菜单栏&File--settings--Editor--Colors&Fonts--Font&:
同样也可以修改控制台的字体:
修改完之后发现AS的一些默认字体如侧边栏的工程目录的字体并没有发生变化,如果想改的话,那还是改一下吧(我个人一般是不改的),修改AS的默认字体:
&4、关闭更新:
如下图所示:
5、快捷键习惯的修改:
如果想修改成Eclipse的快捷键习惯,可以选择菜单栏"file--Settings--Keymap":
我这里就不改了哈。
6、添加api文档悬浮提示:
AS默认是没有api文档悬浮提示的,只有按住【Ctrl+Q】太会出现提示。如果要添加api的自动悬浮提示,设置如下:
上图中,在红框部分打钩就行了,不过这样做对电脑的性能消耗会增加,可以不设置,根据个人习惯。
7、配置代码的自动提示:(新版AS默认具有代码自动提示的设置)
新版的AS默认具有代码自动补齐的功能(老版本的AS是没有的),自动补齐的设置如下:
保持上方红框部分出于打勾状态,就可以设置成代码自动补齐了。
代码提示的快捷键是在下面这个位置:
上图中,在搜索框输入&class name completion&,就看到了代码提示的默认快捷键是Ctrl+Alt+空格,如果想把这个快捷键改掉,操作如下:
上图中,右键选择红框部分,在弹出的对话框中进行修改。
注:如果你习惯了用Eclipse,但是要注意,android Studio中的【Alt+/】是另外一个快捷键:
习惯了用Eclipse的人可以将上图红框部分的两个快捷键交换一下。
配置代码提示的大小写区分:
AS默认的代码提示是大小写敏感的,不信看一下。我们输入小写的intent,提示效果如下:
而当输入大写的Intent时,提示效果如下:(这个时候才出现了Intent类)
上面两张图可以看到,AS默认的代码提示是大小写敏感的。那我想让AS对大小写不敏感,该怎么弄呢?操作如下:
上图中,我们将箭头处的部分改成&none&即可。演示效果如下:
上图中可以看到,修改之后,即使输入小写的关键字,也可以同时弹出大些和小写的关键字。
按住Ctrl键的同时单击鼠标查看源码:(新版AS已默认具有该设置)    
如果已经成功加载sdk,那这个其实是在快捷键里面设置的:
上图中的蓝栏框部分的快捷键的意思就是:按住Ctrl键的同时单击鼠标就可以查看源码。
8、设置自动导包:
之前在Eclipse中,我们只有每次引用一些类的时候必须要导包,而AS可以设置成自动导包。设置如下:
上图中,将红矿部分的两个位置处勾选就行了。
9、显示代码行数:
上图中,将红框部分打钩即可。
10、禁止自动打开上次的工程:
我喜欢自己选择打开哪个工程,果断禁用(这个根据个人喜好哈),设置如下:
11、禁止代码折叠:
Intellij IDEA默认有很多地方的代码都会自动折叠,不过我看不惯,所以取消了,设置如下:
12、修改注释位置,禁用&语句堆一行&:
Comment at frist column:启用的话,注释的位置就会处于行首,否则就根据缩进来注释。我取消掉了。
Control statement in one line:格式化代码的时候,会把些很短的语句合并成一行。我觉得这样影响代码可读性,故取消。
13、修改新建文件文件头:
每次建新类的话,对下面这段注释肯定很熟悉吧?
* Created by smyhvae on .
其实它的设置是在下面这个位置:
14、修改文件编码为UTF-8:
Android Studio 1.1默认的编码方式是utf-8,到了Android Studio 1.2默认的编码方式竟然是GBK,到了Android Studio 2.1,默认的部分编码方式是utf-8,我们还是统一设置为UTF-8吧,不要坑队友哦:
什么?你觉得对Android Studio还不够了解?没关系,放假这三天,我会继续奋战的,敬请期待下文。养眼时间到:
我的公众号
想学习代码之外的软技能?不妨关注我的微信公众号:生命团队(id:vitateam)。
扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外:
阅读(...) 评论()如何在android studio修改布局_百度知道
如何在android studio修改布局
我有更好的答案
 1、进行打开电脑中的Android studio中进行设置布局上的窗口选项。
  2、默认布局设定完成之后,然后进行Android studio菜单中的“windows”的选项。
  3、然后就会弹出了一个下拉菜单中,进行选择为“store current layout as default”的选项。点击完成之后,就会Android
studio的布局进行保存。
  4、而现在对Android studio的默认的布局进行改变,改变之后都不是自己想要的布局。
  5、而想把自己布局改为自己的保存好的Android studio的布局方式,进行点击Android
studio菜单中的”windows“菜单。
  6、然后就会弹出了下拉的菜单中的进行选择“restore default layout”的选项,就恢复到了自定义的布局了。
  android studio设置复位,将设置恢复到初始化方法
  1.删除c盘下的配置文件 路径为C:Users用户名.AndroidStudio1.2(名字视版本号定) ,
  2.重新打开android studio 按照下图方式选择,选择后手动配置设置
  3.选择custom,然后下一步
  4.后面手动选择sdk位置,然后点下一步,会检测更新,检测完了点击finish整个android
studio就重新配置好了,要修改设置的话进入程序后找到configure自行修改
采纳率:86%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
在布局文件的代码里面是没有的,一跑在真机上顶部就会出现一条白色的东西。请问怎么把它去掉》?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
百度或谷歌搜索关键字"android 取消标题"
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
跟 xml 布局文件没关系,上面那白条叫 activity 默认标题栏,默认带有标题栏,可以设置 activity 的 theme 属性(@xxx.NoTitleBar)或在activity setContentView之前设置 Window flag 为 FLAG_NO_TITLE
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.xxxx);
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
这个位置,跟theme的style也有关系。你找的这个工程例子是不是采用toolbar的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
设置主题为NoActionBar,在style.xml中设置:
&style name="AppTheme.NoActionBar"&
&item name="windowActionBar"&false&/item&
&item name="windowNoTitle"&true&/item&
然后在AndroidManifest.xml文件中的Activity设置主题:
android:theme="@style/AppTheme.NoActionBar"
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。没有更多推荐了,
不良信息举报
举报内容:
Android Studio分类整理res/Layout中的布局文件 (笔记4)
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!

我要回帖

更多关于 rstudio 布局 的文章

 

随机推荐