设置TextView文字居中,代码实现android:layout_gravity
设置TextView文字居中
android:gravity指的是控件的位置
而android:layout_gravity指的是这个layout的,是外面的
有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"就是控件对整个布局的操作
设置TextView文字居中一般使用如下:
android:layout_width="fill_parent" 注意这里声明要为match_parent
android:layout_height="fill_parent"
android:gravity="center"
代码实现android:layout_gravity
通过查看SDK,发现有一个setGravity方法, 顾名思义, 这个应该就是用来设置Button组件中文字的对齐方式的方法了。
仔细找了一圈,没有发现setLayoutgravity方法,有点失望。 不过想想也对,如果这边有了这个方法,将Button放在不支持Layout_Gravity属性的Container中如何是好!
代码比较简单,但是发现它们还是花了我一点时间的
Button button = new Button(this); button.setText("One"); //此处相当于布局文件中的Android:layout_gravity属性 LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); lp.gravity = Gravity.RIGHT; button.setLayoutParams(lp); //此处相当于布局文件中的Android:gravity属性 button.setGravity(Gravity.CENTER); LinearLayout linear = new LinearLayout(this); //注意,对于LinearLayout布局来说,设置横向还是纵向是必须的!否则就看不到效果了。 linear.setOrientation(LinearLayout.VERTICAL); linear.addView(button); setContentView(linear);
另外,要设置在RelativeLayout中的位置时使用addRule方法,如下:
params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.CENTER_IN_PARENT); mContainer.addView(progress,params);
更多相关文章
- android控件布局
- [Android]笔记7-RelativeLayout布局
- Android的四种基本布局
- 2.3.1TextView控件
- 【Android】如何让跑马灯跑起来-控件请求焦点
- Android控件GridView的使用
- Android 增加中文字体
- android 相对布局中的 控件布局
- Android中自定义switch控件样式