转自: http://blog.csdn.net/andypan1314/article/details/7306395
http://blog.csdn.net/dany1202/article/details/5912213
*****************************************************************************************
- //手动添加imageview
- RelativeLayout mainLayout = (RelativeLayout)findViewById(R.id.relaGameZhaiGuoZi);
- imgApple2 = new ImageView(this);
- imgApple2.setImageResource(R.drawable.app);
- imgApple2.setId(110); //注意这点 设置id
- imgApple2.setOnClickListener(this);
- RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
- // lp1.addRule(RelativeLayout.ALIGN_TOP);
- // lp1.setMargins(30, 50, 100, 100);//(int left, int top, int right, int bottom)
- lp1.leftMargin=30;
- lp1.topMargin = 100;
- mainLayout.addView(imgApple2,lp1);
首先获取要添加于哪的容器,然后通过
RelativeLayout.LayoutParams对象的相关属性,设置该控件在相对布局中的位置,有3种设置方法,正如上面注释的地方所示,特别注意的是设置id(imgApple2.setId(110);),方便在以后onclick监听事件中进行对应的处理。
将想要显示隐藏的所有控件放到一个面板layout上,定义该面板id。
<RelativeLayout android:id="@+id/layout_effect"
。。。
。。。>
</RealtiveLayout>
在java代码中定义该控件
RelativeLayout layout=(RelativeLayout)findViewById(R.id.layout_effect);
layout.setVisibility(View.INVISIBLE); 控制该控件面板layout不可见,但是他依旧占用空间。比如用linerlayout进行布局,设置这个属性后,此位置按键不可见,但下一个按键不会占用它的位置。
findViewById(R.id.layout_effect).setVisibility(View.GONE); 控制该控件面板消失。比如用linerlayout进行布局,设置这个属性后,相当于这里没有这个布局,下一个按键会向前移动,占用此控件的位置。
xml文件
android:visibility="invisible"
*****************************************************************************************