我正在研究一个项目。我在屏幕上有一个多个TextView。我希望他们在打开应用程序时有一个随机的x和y坐标。
有没有像TextView.x = 30和TextView = 30 ??
这样的东西答案 0 :(得分:1)
将TextView放在 FrameLayout 中,并使用 android:layout_marginTop 和 android:layout_marginLeft 设置坐标。 FrameLayout绝对位于左上角。您可以通过更改布局中项目的顺序来处理z轴 - 第一项位于第二项下方,依此类推......
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"/>
<TextView
android:id="@+id/textview2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:layout_marginLeft="60dp"/>
</FrameLayout>
您也可以从代码中动态设置它。
TextView textView = (TextView) findViewById(R.id.some_textview);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
layoutParams.topMargin = 10; // margin in pixels, not dps
layoutParams.leftMargin = 10; // margin in pixels, not dps
textView.setLayoutParams(layoutParams);
答案 1 :(得分:0)
TextView textView = (TextView) findViewById(R.id.display);
textView.setLayoutParams(new AbsoluteLayout.LayoutParams(100,40, 100, 70));
但在这里我们只能使用 AbsoluteLayout ,这已被弃用!