如何在Android中的特定位置绘制按钮?

Posted

技术标签:

【中文标题】如何在Android中的特定位置绘制按钮?【英文标题】:How to draw a button on specific location in Android? 【发布时间】:2011-10-24 06:18:37 【问题描述】:

我想在 android 应用程序中的特定点 (x,y) 处绘制一个按钮,该点将在运行时生成。 那么我怎样才能实现它。

【问题讨论】:

【参考方案1】:

为此,您可以使用AbsoluteLayout,它可以帮助您通过视图android:layout_xandroid:layout_y 的属性设置视图的确切位置

更新

要在运行时添加 x、y,请检查这些,

Answer 1

Answer 2

【讨论】:

仅供参考,AbsoluteLayout 已弃用。 那么,让我知道使用已弃用的布局有什么害处。【参考方案2】:

使用下面的代码...

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_>

        <Button android:layout_
        android:layout_
        android:id="@+id/button"/>

</RelativeLayout>

在此代码中只需添加android:layout_margin 通过使用边距,您可以根据您的要求设置您的按钮.....

【讨论】:

【参考方案3】:

如果您使用的是线性布局:

Button button = (Button)findViewById(R.id.my_button);
LinearLayout.LayoutParams linParams = 
    (LinearLayout.LayoutParams)button.getLayoutParams();
linParams.setMargins(left, top, right, bottom);
button.setLayoutParams(linParams);

【讨论】:

【参考方案4】:

创建RelativeLayout 布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_>

    <Button android:id="@+id/mybutton"
       android:layout_
       android:layout_/>

</RelativeLayout>

然后在你的代码中:

int posX = 10, posY = 20;
Button b = findViewById(R.id.mybutton);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(posX, posY, 0, 0);
b.setLayoutParams(layoutParams);

【讨论】:

您在 xml 中使用 RelativeLayout 并在代码中将其视为 LinearLayout,这行得通吗?

以上是关于如何在Android中的特定位置绘制按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中的谷歌地图上绘制路线并计算多个标记之间的距离

如何在 android 上使用代码定位特定布局?

用户如何选择特定的文件位置在 Flutter 中保存文件

在iOS中,如何找到特定按钮所在代码的位置?

如何在 Android Canvas 中绘制带有文本的矩形按钮?

在opengl es android中的随机位置绘制多个立方体