在代码中编写布局--如Layout_Gravity、RelativeLayout中的align相对属性

来源:互联网 发布:java软件系统技术合同 编辑:程序博客网 时间:2024/04/30 16:45
    你好!最近在做一个Android 3D全景图的项目,发现其实如果在代码中编写布局将可以更好的自适用多分辨率。

    如一个平板分辨率为1280x800,但要显示的程序窗口只要1024x768且要在中央,此时设置最前父布局的Layout_Gravity属性为Center,代码中如何写----LinearLayout.setGravity(Gravity.CENTER)就可以了。

    RelativeLayout布局中,各个控件的相对位置属性怎么写呢? 此时要用到

在资源为id的控件的右边

RelativeLayout.LayoutParams.addRule(RelativeLayout.RIGHT_OF,id);

在父布局的中央

RelativeLayout.LayoutParams.addRule(RelativeLayout.CENTER_IN_PARENT,RelativeLayout.TRUE); 

在父布局的最右边

RelativeLayout.LayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,RelativeLayout.TRUE); 

 

另外一些经验,当某个控件出乎你的意料没有出现在屏幕当中时,可能存在的原因:

1 》》》在以LinearLayout的布局中或者RelativeLayout布局中相对某控件时,会存在控件被别的控件挤出屏幕的情况

2 》》》控件没有加到要显示的父布局中   如用代码写布局时,没有使用addView()方法将控件加到布局中

3 》》》控件其实存在屏幕当中,只是因为控件大小属性为WRAP_CONTENT,且控件中没有内容而感觉控件不存在,如TextView、ImageView这些控件

4 》》》控件被其他控件重叠 而完全遮住了,如RelativeLayout、FrameLayout布局中