0

ImageView が x 座標と y 座標に沿って配置されないのはなぜですか。相対レイアウトを使用していますが、何らかの理由で imageView が相対レイアウトの左上に配置されており、決定された X および Y 座標に配置されていません。

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 を宣言すべきではありませんか?

また、リソースを提供していただければ幸いです。私はたくさん検索しましたが、私の問題を解決するものは何も解読できませんでした.

4

3 に答える 3

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();
  }
于 2013-04-30T13:29:06.180 に答える
0

代わりに imageView のパディング/マージンを設定してみてください。これは通常、RelativeLayouts でより適切に処理されます。

于 2013-04-30T13:27:01.283 に答える
0

画像を親の左上に配置することで、これ(XML内のイベント)を実現できます。そして、marginTop(これが Y になります) と marginLeft(これが X になります) を指定します。

于 2013-04-30T13:32:38.810 に答える