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

时间:2015-05-29 10:27:39

标签: android android-layout layout android-linearlayout android-screen

首先,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移动布局,但我发现它没有显示adContainer右侧的视图tabView,所以我测试了将mainContainer置于{{1}的startX位置我可以看到-App.getInstance().getWidth()/2的一半,但我仍然看不到adContainer

查看tabView的唯一方法是将adContainer宽度设置为小于tabView。这很奇怪......

为什么我看不到任何项目添加到布局中但是在x位置大于屏幕宽度?

由于

1 个答案:

答案 0 :(得分:0)

您已在线性布局的布局参数中提供了包装内容,因此线性布局包含在相对布局和图像视图周围。尝试使用MatchParent。

mainContainer = new LinearLayout(context);  
    mainContainer.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));