android:layout_gravity 和 android:gravity 属性用法和布局差异在此很好地体现。

为了简单,Acitivity 统一如以下方式:

import android.app.Activity;import android.os.Bundle;public class TETActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_tet);    }}

方法一:使用FrameLayout 布局方式 ,使TextView组件居中,设置标签的android:layout_gravity属性

 方法二、仍然使用FrameLayout 布局,但是使文本居中,使用TextView 的 android:gravity 属性

特别注意,如果你已经看到这里,请注意,方法一和方法二的一些区别:

因为layout_gravity属性是指 textview相对于父布局,在此也就是指屏幕FrameLayout而言的位置,因为方法一里,用到是layout_gravity 中center,即TextView 位于 framelayout的 正中心。所以TextView 此时会在屏幕正中心。因为TextView的 宽和高设置分别为包裹内容即可,所以可以看到 文字正好居中(文字此时和承载文字的TextView 之间没有间隔)

但是方法二中,看似差不多,但是如果你只是简单根据提示,仅仅将TextView 的 layout_gravity属性更改为gravity 属性,是达不到我们的目标效果的。因为此时只能保证textiView 中的文字在textView的正中间,但textView 本身却在父布局FrameLayout 的左上角。 方法如下图。 (注:所以方法二中,为了简单实现,将textView 的宽高设为全屏, 强制达到了预期。但该方案一般不用,因为很难见到一个Activity 上只放置一个Textview  的情形。 在此只为说明这两个属性差异,而展示。)

如下所示

方法三、LinearLayout 布局中,使Textview组件居中,为LinearLayout 设置android:gravity 属性

 内容扩展:关于textVIew 、Button等组件居中的问题,如上已经反映了该类问题一般做法,对于让文字居中,相对来说,要求更加严格,但方法一和 方法三 的本质都是要求先使得组件本身位于屏幕中间,而组件内的文字 根据组件的gravity属性来设置的方法进行确定。

此处最常见的一个问题是,LinearLayout 布局下,Textview 组件 layout_gravity 属性不一定任何时候都能用,比如 当linearLayout的 orientation 属性设置为 vertical时 ,

当作为父layout的LinearLayout的属性为android:orientation="vertical" 的时候,android:layout_gravity="?"这里设为横向的时候才能生效。比如:left,right,center_horizontal等;
当作为父layout的LinearLayout的属性为android:orientation="horizental" 的时候,android:layout_gravity="?"这里设为纵向的时候才能生效。比如:top,bottom,center_vertical

具体可查看相关资料,比如我参考的文章链接 :

https://www.cnblogs.com/zhangshuli-1989/p/zhangshuli_gravity_150421112.html

关于LinearLayout 布局中更多 和gravity相关的内容,可参考

https://myeasyeye.iteye.com/blog/1941026

 

更多相关文章

  1. android 取消标题,程序意外停止
  2. Android/java 多线程(六)-AsyncTask使用详解及源码分析
  3. switchpreference属性
  4. android - AsyncTask 的使用
  5. 《Android面试宝典》学习笔记(第四章:对话框、信息提示和菜单)
  6. 打开SDK Manager检查Android(安卓)SDK下载和更新失败的解决方法
  7. android怎样将textview置于imageview之上
  8. android屏幕自适应4方法案例整合
  9. Android横竖屏限制切换

随机推荐

  1. 通读Android文档系列 ONE
  2. 一篇文章带你了解 Android 消息机制的原
  3. Android之drawable和mipmap目录区别
  4. 【多图】Google工程师解析Android系统架
  5. Android(安卓)Glide图片加载框架介绍
  6. Android屏幕适配总结
  7. Android 集成支付宝支付详解
  8. 手动安装Android Platform
  9. Android 获取内外置存储卡方法
  10. ■Android中尺寸单位杂谈