首先,App.getInstance().getWidth(
)给了我屏幕宽度。
我创建了这个LinearLayout:
mainContainer = new LinearLayout(context);
mainContainer.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
它是水平的,有两个条目,如下:
adContainer = new RelativeLayout(context);
adContainer.setBackgroundColor(Color.BLACK);
adContainer.setLayoutParams(new LayoutParams(App.getInstance().getWidth(), App.getInstance().getHeight()));
adContainer.setGravity(Gravity.CENTER);
mainContainer.addView(adContainer);
:
tabView = new ImageView(context);
tabView.setLayoutParams(new LayoutParams(100,140));
tabView.setImageResource(R.drawable.tab);
mainContainer.addView(tabView);
我尝试用TranslateAnimation移动布局,但我看到它没有显示视图tabView
在adContainer的右边,所以我测试了把mainContainer
与-App.getInstance().getWidth()/2
的startX位置,我可以看到adContainer
的一半,但我仍然看不到tabView
查看tabView的唯一方法是将adContainer宽度设置为小于App.getInstance().getWidth()
。很奇怪……
为什么我不能看到任何项目添加到布局,但在x位置大于屏幕宽度?
谢谢
您已经在线性布局的布局参数中给出了wrap内容,因此线性布局将围绕相对布局和图像视图进行wrap。尝试使用MatchParent。
mainContainer = new LinearLayout(context);
mainContainer.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));