如何在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_x
和android: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中的谷歌地图上绘制路线并计算多个标记之间的距离