2011-01-28 22 views
0

私はビューを拡張し、onDrawをオーバーライドして、私は自分の携帯電話にしようとしたとき、私はIMGSが少しあるscreen.Butの完全な高さと幅を持った後、私は、画面上に描画することができますonSizechangedています異なる位置に私はdefined.Alsoを持っている私は何ができるカスタムビュー表示の問題が

....私は私のコードで(PXで)実際の値を定義していると私は私は知らない、少なくともディップを使用することはできませんだと思います多くの画面で同じように見えるようにするために、私はLayoutsを使用せず、コードでやっていますか?

答えて

0

imgsをdiffと同じにする。あなたは最初にデバイスの高さと幅を特定しなければならないし、それに応じてあなたはdiffスクリーン上で必要な場所でURイメージを設定するいくつかの方法を書くべきです。


あなたは活動の開始時に、このメソッドを令状しahve画面のGETの高さと幅:


float ht,wt; 
    DisplayMetrics displaymetrics = new DisplayMetrics(); 
      getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
      ht = displaymetrics.heightPixels; 
      wt = displaymetrics.widthPixels; 
+0

iは方法onSizeChanged(でこれを書く必要があります)、または(実装していない本の外onsizechanged)をアクティビティのコンストラクタに挿入しますか? – stelios

+0

には、あなたは、私はそれを試してみると私はどちらか私はのgetWidthとのgetHeightまたはdisplaymetrics私は同じ結果を持っているとonsizechanged使用することを考えて、これはまた、OnCreate関数 –

+0

をB4書き込むことはできません...ので、私はちょうど私のイメージは任意の画面に合わせて作る拡張する必要がありますか? (それは私の本当の問題です、小さな画面の画像はお互いをカバーしています) – stelios