你好!最近在做一个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布局中。