android:gravity / android:layout_Gravity区别:

 android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置。

 android:layout_gravity 是用来设置该view相对与父view 的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等。

在实践中,发现有时会同时使用android:gravity和 android:layout_Gravity:

 <TextView
android:id="@+id/text_displayed"
android:gravity="center" // 设置文字在TextView的居中位置
android:visibility="invisible"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" // 设置TextView位置(FrameLayout):屏幕居中
/>

Java代码中设置android:gravity是极其简单的,setGravity函数搞定了:

 //此处相当于布局文件中的Android:gravity属性
button.setGravity(Gravity.CENTER);

但设置android:layout_margin就麻烦些:

 FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
//此处相当于布局文件中的Android:layout_gravity属性
lp.gravity = Gravity.CENTER;
mTextDisplayed.setLayoutParams(lp);

android:padding / android:layout_margin区别:

 ndroid:padding 是指该view里面的内容与view边界的距离,例如TextView里面的文字离TextView控件边界的数值;

 android:layout_margin 是指该view于父view边界的距离,例如SeekBar与父view的四周边界。

Android开发UI之android:gravity / android:layout_Gravity,android:padding / android:layout_margin属性区分的更多相关文章

  1. Android开发 UI布局

    Android开发 UI布局一.线性布局LinearLayout 什么是线性布局? 其实呢,线性布局就是把所有的孩子摆在同一条线上 <?xml version="1.0" e ...

  2. Android开发--UI之Bundle的使用

    Android开发–UI之Bundle的使用 最近,把之前学过的东西大体的整理了以下,并且想把学过的心得分享给大家.我自己做了一个小小的demo,以便说明具体的应用. 这里的两个界面是通过第一个界面输 ...

  3. 《android开发艺术探索》读书笔记(十一)--Android的线程和线程池

    接上篇<android开发艺术探索>读书笔记(十)--Android的消息机制 No1: 在Android中可以扮演线程角色的有很多,比如AsyncTask.IntentService.H ...

  4. Android开发UI之开源项目第一篇——个性化控件(View)篇

    原文:http://blog.csdn.net/java886o/article/details/24355907 本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍A ...

  5. Android 开发UI牛博[转]

    Android 新兴的UI模式——侧边导航栏 侧边导航栏也就是大家熟知的SliddingMenu,英文也叫Fly-In App Menu.Side Navigation等.当然谷歌现在已经推出类似这个 ...

  6. Android开发实战(二十一):浅谈android:clipChildren属性

    实现功能: 1.APP主界面底部模块栏 2.ViewPager一屏多个界面显示 3......... 首先需要了解一下这个属性的意思 ,即 是否允许子View超出父View的返回,有两个值true . ...

  7. 《android开发艺术探索》读书笔记(十)--Android的消息机制

    接上篇<android开发艺术探索>读书笔记(九)--四大组件 No1: 消息队列MessageQueue的内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表,因为单链表 ...

  8. 【Android开发日记】之入门篇(四)——Android四大组件之Activity

    在Android中,无论是开发者还是用户,接触最多的就算是Activity.它是Android中最复杂.最核心的组件.Activity组件是负责与用户进行交互的组件,它的设计理念在很多方面都和Web页 ...

  9. 《ArcGIS Runtime SDK for Android开发笔记》——(8)、关于ArcGIS Android开发的未来(“Quartz”版Beta)

    1.前言 今天再一次在官网看到了ArcGIS Runtime SDK for Android下一个版本“Quartz”版的更新资料,它将是一个非常重要的更新,包括API接口的重构和开发思路的调整.具体 ...

随机推荐

  1. ###Linux基础 - 1

    点击查看Evernote原文. #@author: gr #@date: 2014-10-11 #@email: forgerui@gmail.com 前言 为什么学习Linux?:-) 酷Cool ...

  2. makefile文件制作入门

    一.首先,看一下最简单的C文件 //hello.c文件 #include <stdio.h> void main() { printf("hello world\n") ...

  3. string[] 和 arraylist互转及问题解决

    1,String 数组转成 list<String> String[] s={"1","2","3","5" ...

  4. SQL日期操作及只获取日期的方法

    datepart()函数的使用                          * datepart()函数可以方便的取到时期中的各个部分*如日期:2006-07--02 18:15:36.513* ...

  5. Java实战之04JavaWeb-01Servlet

    一.Http协议 1.什么是http协议? http协议就是描述客户端与服务器端交互过程的 2.http的请求 3.http的响应 二.Servlet的简介 1.Servlet的概述 Servlet: ...

  6. VMware10.0.4下 CentOS 6.5 cmake安装 MySQL 5.5.32

    一.准备工作 1.1.创建 zhuzz/tools目录 [root@localhost ~]# mkdir -p /home/zhuzz/tools [root@localhost ~]# cd /h ...

  7. UniqueID,页面子控件唯一标示

    aspx: <form id="form1" runat="server">     <asp :Repeater ID="MyDa ...

  8. php判断手机浏览还是web浏览,并执行相应的动作

    正好需要,在网上找了好久,记录一下 function isMobile(){ $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTT ...

  9. 【BZOJ】1088: [SCOI2005]扫雷Mine

    1088: [SCOI2005]扫雷Mine Description 相 信大家都玩过扫雷的游戏.那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来.万圣节到了,“余”人国流行起了一种简单的 ...

  10. websphere6.1安装与配置

    http://www.blogjava.net/103335460/articles/220935.html 一.本人开发环境: jdk1.5.0_11 , eclipse3.2 , MyEclips ...