android:gravity与android:layout_gravity的区别,以及代码设置对应属性
记录一下,怕以后忘记:
属性说明:
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的区别,以及代码设置对应属性相关推荐
- Android——android:gravity 和 android:layout_Gravity
LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity. 他们的区别在于: android:gravity 属性是对该view中内 ...
- android:gravity与android:layout_gravity
为什么80%的码农都做不了架构师?>>> LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity. 他们的 ...
- 【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
在进行UI布局的时候,可能常常会用到 android:gravity 和 android:layout_Gravity 这两个属性. 关于这两个属性的差别,网上已经有许多人进行了说明,这边再简单说一 ...
- android中gravity什么意思,【Android】“android:gravity”和“android:layout_gravity”属性解释...
在学习Android布局的过程中,我经常会混淆android:gravity和android:layout_gravity这两个属性,因为它们就差一点点而已.因此,特以此文记录一下关于这两者的知识点. ...
- 安卓页面布局中android:gravity与android:layout_gravity的区别
android:gravity 指的是在控件内的元素要排布的方向 android:layout_gravity 指的是该控件相对于父控件的显示位置 当这俩个属性取多个值时可以使用'|'来分隔,且在Li ...
- android gravity参数,android - 如何以编程方式设置layout_gravity?
android - 如何以编程方式设置layout_gravity? 我的问题很简单, 如何以编程方式设置我的按钮layout_gravity? 我在互联网上发现了这个,但它只是抛出了一个Nullpo ...
- android中用代码设置edittext属性为密码,Android中EditText常用属性设置
EditText继承关系:View–>TextView–>EditText 常用属性如下:android:layout_gravity="center_vertical" ...
- Android Java 代码设置 layout_weight 属性
介绍 遇到在一个页面布局中,UI显示需要把屏幕分成上下两部分高度均分显示内容.是不是会想到 xml 里的 layout_weight设置权重的属性,但是现在需要代码里设置权重. 查了下,控件必须在 L ...
- android 中 gravity 和 layout_gravity 的区别
文章转自:http://blog.csdn.net/feng88724/article/details/6333809 在进行UI布局的时候,可能经常会用到 android:gravity 和 an ...
- android gravity 代码,android:layout_gravity和android:gravity属性的区别
android:gravity / android:layout_gravity区别: android:gravity 是设置该view类里面的内容相对于该view的位置,例如设置button里面的t ...
最新文章
- 避无可避:Mesos安全问题的几点思考
- 用tableView实现的一种加载数据的布局
- java 递归_Java的递归、如何与流相结合
- ack机制之代码实现,实现BaseRichBolt的方式,使用BaseBasicBolt的方式实现BaseRichBolt发ack和fail的功能
- alter system flush oracle的缓存
- windows符号服务器地址
- 深入理解C++中的explicit关键字
- 全网最详细TCP参数讲解,再也不用担心没有面试机会了......
- 【2016年第5期】研究(国家自然科学基金项目成果集萃)导读
- 锦官城思享会-成都创业与商业CXO闭门会圆满举办
- 由儿时的游戏打保猜最广想到的
- 设置SUID用于提权或降权
- php页面怎么改造mip,WordPress MIP 改造之 a 标签替换为 mip-link 跳转链接
- 【语音编码】基于matlab ADPCM编解码【含Matlab源码 553期】
- 商品中心 --- 淘宝类目属性体系
- 重写和重载的区别是什么
- 如何搭建个人网站(详细完整,附阿里云视频教程推荐)
- 配置linux磁盘配额前,Linux磁盘配额Quota配置详解
- 【调剂】2021年齐齐哈尔大学朱磊教授课题组招收通信与信息系统、电子信息相关专业硕士调剂...
- Apache httpd服务器下载及安装