1

对于应用程序,我需要将一些对象放置在我想要拥有它们的确切位置,因此这次我需要使用 AbsoluteLayout。

我想动态添加按钮,就像在下面的 XML 中一样 - 但在运行时。

<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <Button 
     android:id="@+id/backbutton"
     android:text="TEST123"
     android:layout_x="120px"
     android:layout_y="120px"
     android:layout_width="100px"
     android:layout_height="100px" />
</AbsoluteLayout>

我该如何存档?我尝试使用以下代码添加按钮,但到目前为止我还没有找到设置layout_x和layout_y的函数。我怎样才能做到这一点?谢谢。

AbsoluteLayout al = new AbsoluteLayout(this);
Button t = new Button(this);
t.setHeight(300);
t.setWidth(300);
t.setText("TEST123");
// x y ???
setContentView(al);
4

2 回答 2

1

您应该尝试使用 Canvas 方法。

 onDraw(Canvas canvas)

使用画布 - 不会创建实际的按钮,但您可以使用图像。也看看这些链接:Android 绘图按钮到带有自定义视图的画布?

于 2012-03-26T08:39:55.530 回答
1

当您将视图添加到布局时,您可以提供LayoutParams,您可以在其中指定视图的布局信息。

但是,绝对布局已被弃用,这是有充分理由的。您将如何处理不同的屏幕尺寸和分辨率?您应该能够使用未弃用的布局对象的组合来创建您正在寻找的布局。请参阅开发人员文档作为起点。

如果您更详细地描述您的目标,那么应该有人可以帮助您选择正确的布局。

于 2010-05-25T01:05:04.830 回答