2012-10-11 82 views
0

我正在開發一個項目。我在屏幕上有多個TextView。我希望他們在打開應用程序時有一個隨機的x和y座標。設置TextView的座標

是否有像TextView.x = 30和TextView = 30這樣的東西?

回答

0
TextView textView = (TextView) findViewById(R.id.display); 
textView.setLayoutParams(new AbsoluteLayout.LayoutParams(100,40, 100, 70));  

但是在這裏我們只能用AbsoluteLayout,它被廢棄了!

1

場所使用Android上的FrameLayout內TextViews並設置它們的座標:layout_marginTop機器人: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);