android 布局中 gravity 和 layout_gravity 属性
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了android 布局中 gravity 和 layout_gravity 属性,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2818字,纯文字阅读大概需要5分钟。
内容图文
![android 布局中 gravity 和 layout_gravity 属性](/upload/InfoBanner/zyjiaocheng/1213/8dca44e4e1c343aea0497f94a1c48b9a.jpg)
gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思。
android:gravity 和 android:layout_gravity 的区别:
android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置。(也可以在Layout布局属性中添加,设置Layout中组件的位置)。
android:layout_gravity 是用来设置该view相对与父view的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等。
即android:gravity用于设置View中内容相对于View组件的对齐方式,而android:layout_gravity用于设置View组件相对于Container的对齐方式。说的再直白点,就是android:gravity只对该组件内的东西有效,android:layout_gravity只对组件自身有效。
android:layout_gravity 只在 LinearLayout 和 FrameLayout 中有效:
1、对于 LinearLayout :
当 android:orientation="vertical" (垂直) 时,只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
当 android:orientation="horizontal" (水平) 时,只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。
2、对于 FrameLayout :![技术分享](/upload/getfiles/default/2022/11/14/20221114024707998.jpg)
<span style="font-family:Microsoft YaHei;"><?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center_vertical"> <Button android:layout_width="150px" android:layout_height="wrap_content" android:text="test" android:gravity="right|bottom" android:layout_gravity="right"/> </LinearLayout> </span>
通过Java代码来设置组件的位置:
setGravity()对应android:gravity
gravity属性对应android:layout_gravity
下面代码实现同上面布局文件实现的效果
<span style="font-family:Microsoft YaHei;">Button button = new Button(this); button.setText("test"); //设置Button中的文字位置,相当于Button布局属性中的android:gravity="right|bottom" button.setGravity(Gravity.BOTTOM|Gravity.RIGHT); LinearLayout layout = new LinearLayout(this); layout.setOrientation(LinearLayout.VERTICAL); //LinearLayout必须设置方向,否则无法看到效果 //故意加长button长度,这里200的单位是px LinearLayout.LayoutParams buttonParams = new LinearLayout.LayoutParams(200, LayoutParams.WRAP_CONTENT); //相当于Button布局属性中的android:layout_gravity=right buttonParams.gravity = Gravity.RIGHT; //相当于这两句 button.setLayoutParams(buttonParams); // layout.addView(button); layout.addView(button, buttonParams); //设置Button的位置,相当于LinearLayout布局属性中的android:gravity="center_vertical" layout.setGravity(Gravity.CENTER_VERTICAL); setContentView(layout);</span>参考:http://blog.csdn.net/feng88724/article/details/6333809
原文:http://blog.csdn.net/ycwol/article/details/43795671
内容总结
以上是互联网集市为您收集整理的android 布局中 gravity 和 layout_gravity 属性全部内容,希望文章能够帮你解决android 布局中 gravity 和 layout_gravity 属性所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。