大于屏幕宽度的LinearLayout不添加项目



首先,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));

相关内容

  • 没有找到相关文章

最新更新