gravity与layout_gravity的使用场景 设置TextView文字居中

最近做一个功能,要将文字水平居中,本来是想这样做的:

textView 的width设置为wrap_content,然后再将其设置成layout_gravity=center_horizonal

但在我遇到的这个场景中,将width设置成wrap_content后就会出现一些导致其它控件出现问题:就是在一个linearLayout里面,其他所有控件宽度为fill_parent,

当有一个控件的宽度设置成wrap_content后,所有的控件的宽度都会成为与设置成wrap_content控件一样宽。

于是,这个方案行不通了。

不得不将textView的width设置成fill_parent,这样的话,就得将文字在控件内部居中。这样怎么弄呢?搜得如下结果:


设置TextView文字居中

有2种方法可以设置TextView文字居中:

一:在xml文件设置:android:gravity="center"

二:在程序中设置:m_TxtTitle.setGravity(Gravity.CENTER);

备注:android:gravity和android:layout_gravity的区别在于前者对控件内部操作,后者是对整个控件操作。

例如:android:gravity="center"是对textView中文字居中

android:layout_gravity="center"是对textview控件在整个布局中居中

其实很容易理解,出现"layout"就是控件对整个布局的操作

一:在xml文件设置:android:gravity="center"

二:在程序中设置:m_TxtTitle.setGravity(Gravity.CENTER);

备注:android:gravity和android:layout_gravity的区别在于前者对控件内部操作,后者是对整个控件操作。

例如:android:gravity="center"是对textView中文字居中

android:layout_gravity="center"是对textview控件在整个布局中居中

其实很容易理解,出现"layout"就是控件对整个布局的操作

你可能感兴趣的:(textview)