2012-10-16 84 views
3

我想弄清楚如何以編程方式在android中定位視圖。比方說,例如我們有這個XML代碼。ANDROID - 以編程方式定位視圖

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/mainLayout"> 
<TextView 
    android:id="@+id/textView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="121dp" 
    android:layout_marginTop="140dp" 
    android:text="Results" /></RelativeLayout> 

如何在android中以編程方式實現此佈局?因爲我想要一個隨機位置的文本視圖。

回答

4

檢查這個..

RelativeLayout main = new RelativeLayout(this); 
    main.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT)); 



    TextView textV = new TextView(this); 
     textV.setGravity(Gravity.LEFT); 
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
           RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT); 

    layoutParams.setMargins(121, 140, 0, 0); 
    textV.setLayoutParams(layoutParams); 
    text.setText("Result "); 

main .addView(text); 
5

與文本框

RelativeLayout.LayoutParams p = (RelativeLayout.LayoutParams)textView1.getLayoutParams(); 
p.leftMargin = xxx; // in PX 
p.topMargin = xxx; // in PX 
textView1.setLayoutParams(p) 

仰望DP到像素轉換setLayoutParams方法使用RelativeLayout.LayoutParams如果u想使用的DP值

+1

你可以給我如何做到這一點代碼片段? – jeponkz

+0

在這裏你走,我希望有所幫助 – x4rf41