2

我试图将两个布局相互堆叠,但我似乎做不到。我有一个 Java 类文件作为视图,在这个文件中有可以通过在屏幕上拖动来移动的球。另一个是由 Eclipse 中的图形编辑器制作的 XML 文件。

这是我用来一次显示它们的代码:

LinearLayout view = (LinearLayout)LayoutInflater.from(this).inflate(R.layout.main, null);
    LinearLayout layout = new LinearLayout(this);
    // Define the LinearLayout's characteristics
    layout.setGravity(Gravity.CENTER);
    layout.setOrientation(LinearLayout.VERTICAL);
    // Set generic layout parameters
    LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    DrawView custom = new DrawView(this);
    layout.addView(view);
    layout.addView(custom, params); 
    setContentView(layout);

但是,这确实显示了两者的观点。我唯一的问题是它们不在彼此之上。现在他们在彼此之下。此外,当它们堆叠时,有没有办法让它们都透明(看到两层)?

4

4 回答 4

1

你在代码中指定你想要一个LinearLayout. 但是要让它的孩子重叠,你应该使用 a RelativeLayout(或废弃的绝对布局,甚至 aFrameLayout可以工作)。

于 2013-03-20T11:15:49.803 回答
1

使用 FrameLayout 作为父布局,然后将视图添加到父 FrameLayout。在 Frame 中,所有视图都是堆叠的。对于透明度,您可以将 alpha 设置为背景或将透明背景颜色设置为视图。

于 2013-03-20T11:40:32.227 回答
0

您需要在顶层设置背景颜色,并在顶层使用“带到最前面”属性。背景颜色可以设置'#BBCCCCCC'BB是从00定义FF颜色的透明度。CCCCCC定义颜色。

于 2013-03-20T11:31:56.360 回答
0

您应该使用 aRelativeLayout而不是 aLinearLayout作为父级。这将允许您将视图堆叠在一起。最后View添加到父级的将在顶部。要设置视图的 alpha,您可以查看问题

于 2013-03-20T11:16:35.790 回答