记录一下,怕以后忘记:

属性说明:

android:gravity:
① RelativeLayout、LinearLayout,等容器的子View相对自身的位置。
PS:FrameLayout没有该属性,大家可以在XML文件中试试 - -…
② Button、TextView等有内容的View,其内容相对自身的位置。
PS:部分View也没有该属性,如ImageView。

android:layout_gravity:
自身相对父容器的位置

代码中设置相应属性:

android:gravity
调用控件的setGravity(int gravity);方法。
部分控件没有该,因为本身就不支持该属性的设置,上面已经列举了一些,可能不全面,大家用的的时候可以试试哈。

android:layout_gravity:
因为该属性的含义是相对父容器的位置,所以该属性没有直接放在控件类里,而是放在了容器类的内部类LayoutParams里(如RelativeLayout.LayoutParams);

贴个Gravity的代码,配置文件的就不写了:

package com.example.simplegravity;import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.TextView;/*** android:gravity 与 android:layout_gravity的区别*/
public class SimpleGravityActivity extends Activity implements View.OnClickListener {private FrameLayout.LayoutParams tvLp;private FrameLayout.LayoutParams btnLp;private TextView textView;private FrameLayout frameLayout;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 父容器frameLayout = new FrameLayout(this);frameLayout.setBackgroundColor(Color.WHITE);setContentView(frameLayout);// 子ViewtextView = new TextView(this);textView.setBackgroundColor(Color.BLACK);textView.setTextColor(Color.WHITE);textView.setText("A");textView.setTextSize(22);//视图添加tvLp = new FrameLayout.LayoutParams(400, 400);frameLayout.addView(textView, tvLp);// 视图切换按钮Button btn = new Button(this);btn.setText("change gravity and layout_gravity");btnLp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);btnLp.gravity = Gravity.CENTER;// 其实这里用的就是android:layout_gravityframeLayout.addView(btn, btnLp);btn.setOnClickListener(this);}@Overridepublic void onClick(View v) {// 切换TextView相对父容器的位置(android:layout_gravity)tvLp.gravity = Gravity.RIGHT | Gravity.BOTTOM;// 切换TextView的内容相对自身的位置(android:gravity)textView.setGravity(Gravity.RIGHT | Gravity.BOTTOM);// 刷新视图textView.requestLayout();}
}

gravity改变的前后对比图:

本人android新人,有不对的地方请多多指教。

android:gravity与android:layout_gravity的区别,以及代码设置对应属性相关推荐

  1. Android——android:gravity 和 android:layout_Gravity

    LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity. 他们的区别在于: android:gravity 属性是对该view中内 ...

  2. android:gravity与android:layout_gravity

    为什么80%的码农都做不了架构师?>>>    LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity. 他们的 ...

  3. 【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性

    在进行UI布局的时候,可能常常会用到 android:gravity  和 android:layout_Gravity 这两个属性. 关于这两个属性的差别,网上已经有许多人进行了说明,这边再简单说一 ...

  4. android中gravity什么意思,【Android】“android:gravity”和“android:layout_gravity”属性解释...

    在学习Android布局的过程中,我经常会混淆android:gravity和android:layout_gravity这两个属性,因为它们就差一点点而已.因此,特以此文记录一下关于这两者的知识点. ...

  5. 安卓页面布局中android:gravity与android:layout_gravity的区别

    android:gravity 指的是在控件内的元素要排布的方向 android:layout_gravity 指的是该控件相对于父控件的显示位置 当这俩个属性取多个值时可以使用'|'来分隔,且在Li ...

  6. android gravity参数,android - 如何以编程方式设置layout_gravity?

    android - 如何以编程方式设置layout_gravity? 我的问题很简单, 如何以编程方式设置我的按钮layout_gravity? 我在互联网上发现了这个,但它只是抛出了一个Nullpo ...

  7. android中用代码设置edittext属性为密码,Android中EditText常用属性设置

    EditText继承关系:View–>TextView–>EditText 常用属性如下:android:layout_gravity="center_vertical" ...

  8. Android Java 代码设置 layout_weight 属性

    介绍 遇到在一个页面布局中,UI显示需要把屏幕分成上下两部分高度均分显示内容.是不是会想到 xml 里的 layout_weight设置权重的属性,但是现在需要代码里设置权重. 查了下,控件必须在 L ...

  9. android 中 gravity 和 layout_gravity 的区别

    文章转自:http://blog.csdn.net/feng88724/article/details/6333809 在进行UI布局的时候,可能经常会用到 android:gravity  和 an ...

  10. android gravity 代码,android:layout_gravity和android:gravity属性的区别

    android:gravity / android:layout_gravity区别: android:gravity 是设置该view类里面的内容相对于该view的位置,例如设置button里面的t ...

最新文章

  1. 避无可避:Mesos安全问题的几点思考
  2. 用tableView实现的一种加载数据的布局
  3. java 递归_Java的递归、如何与流相结合
  4. ack机制之代码实现,实现BaseRichBolt的方式,使用BaseBasicBolt的方式实现BaseRichBolt发ack和fail的功能
  5. alter system flush oracle的缓存
  6. windows符号服务器地址
  7. 深入理解C++中的explicit关键字
  8. 全网最详细TCP参数讲解,再也不用担心没有面试机会了......
  9. 【2016年第5期】研究(国家自然科学基金项目成果集萃)导读
  10. 锦官城思享会-成都创业与商业CXO闭门会圆满举办
  11. 由儿时的游戏打保猜最广想到的
  12. 设置SUID用于提权或降权
  13. php页面怎么改造mip,WordPress MIP 改造之 a 标签替换为 mip-link 跳转链接
  14. 【语音编码】基于matlab ADPCM编解码【含Matlab源码 553期】
  15. 商品中心 --- 淘宝类目属性体系
  16. 重写和重载的区别是什么
  17. 如何搭建个人网站(详细完整,附阿里云视频教程推荐)
  18. 配置linux磁盘配额前,Linux磁盘配额Quota配置详解
  19. 【调剂】2021年齐齐哈尔大学朱磊教授课题组招收通信与信息系统、电子信息相关专业硕士调剂...
  20. Apache httpd服务器下载及安装

热门文章

  1. LaTeX在数学环境中使用直立体
  2. java添加录音,大家说说java程序里怎么插入视频和音频啊
  3. CISCO防火墙自动配置、备份脚本
  4. 《Web漏洞防护》读书笔记——第9章,XSS防护
  5. maven指定配置文件
  6. Python-selenium:鼠标键盘事件
  7. Unity3D笔记 英保通三 脚本编写 、物体间通信
  8. Sql 查询库、表、列名的语句
  9. W,b的初始化和几种激活函数
  10. Linux nohup 关闭终端的时候,程序依然能在后台运行( linux重定向及nohup不输出的方法)...