2013-04-30 43 views
0

爲什麼不沿着X和Y座標的ImageView的地方。我使用的是相對佈局,但由於某種原因,imageView放置在相對佈局的左上角,而不是定位到確定X和Y座標。放置在X的ImageView的和Y cordinates

rel1 = (RelativeLayout) findViewById(R.id.canvas_container); 
mImageView1 = (ImageView) findViewById(R.id.imageView1); 
image1(); 

public void image1(){ 
    //randomNumber(); 
    mImageView1 = (ImageView) findViewById(R.id.imageView1); 
    mImageView1.setBackgroundResource(R.drawable.spelling_); 
    mImageView1.layout(130, 140, 240, 120); 
    mImageView1.bringToFront();  
} 

XML代碼將是下面

<RelativeLayout 
    android:id="@+id/canvas_container" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/magnetboard" > 
    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

我不應該在XML佈局聲明ImageViews?

此外,如果你能提供的資源也將不勝感激。我搜查了很多,無法破譯任何可以解決我的問題的東西。

回答

0

您可以通過位置實現這一點(內XML事件),你的形象是在父母的左上角。然後只要給它marginTop(這將是你的Y)和marginLeft(這將是你的X)。

+0

後,您的圖像1()方法是什麼,則邊緣右側和底部? – 2013-04-30 13:38:48

+0

@RichTalcik保證金給你更多然後用X,Y只是絕對位置。你也可以相對於底部和右邊。 – 2013-04-30 13:40:58

+0

好的謝謝我將使用xml佈局 – 2013-04-30 13:42:10

0

嘗試設置填充/保證金的ImageView的替代,這是通常的處理中RelativeLayouts更好。

0

呼叫

mImageView1.requestLayout(); 

設置完成後

public void image1(){ 

    mImageView1 = (ImageView) findViewById(R.id.imageView1); 
    mImageView1.setBackgroundResource(R.drawable.spelling_); 
    mImageView1.layout(130, 140, 240, 120); 
    mImageView1.bringToFront(); 
    mImageView1.requestLayout(); 
    } 
+0

的XML佈局之後做了什麼? – 2013-04-30 13:38:14

+0

在幹什麼你設置 – Opiatefuchs 2013-04-30 13:49:48