Android libraryバージョンでは、その高さと幅の決定によるビットマップの位置エラーが発生します。
810 ワード
最近はシムのコラムを読んでいますが、5章まで読んだ時に背景図の位置が間違っています。
記事のアドレスリンク:http://blog.csdn.net/xiaominghimi/article/details/6094182
私たちは自分でviewを作る時にSurfaceViewを継承します。そしてsurfaceCreate方法を書き直します。下記のコードで示します。
本人はHIMIのブログに書いた通りにログイン画面をテストします。しかし、drawの位置は理想的ではないことが分かりました。個人的なdebugは、元のthis.get Widthとheightが入手した値とhisiのソースコードの違いを発見しました。そして2つのプログラムを詳しく比較しました。違いは見つかりませんでした。
最終的に、元のAndroidのjarパッケージのバージョンが異なることが分かりました。
Android 1.5のバージョンと2.2のバージョンは大きく違っています。
2.2は480*800である
1.5は320*480です
画面を描く時は必ず画面のレイアウトに注意して、プログラムのバージョンによって来ます。素材とアルゴリズムも違います。
記事のアドレスリンク:http://blog.csdn.net/xiaominghimi/article/details/6094182
私たちは自分でviewを作る時にSurfaceViewを継承します。そしてsurfaceCreate方法を書き直します。下記のコードで示します。
@Override
public void surfaceCreated(SurfaceHolder holder) {
ScreenW = this.getWidth();
ScreenH = this.getHeight();
bp_x = ScreenW/2-bitmapr.getWidth()/2;
bp_y = ScreenH/2-bitmapb.getWidth()/2;
thread.start();
}
説明:本人はHIMIのブログに書いた通りにログイン画面をテストします。しかし、drawの位置は理想的ではないことが分かりました。個人的なdebugは、元のthis.get Widthとheightが入手した値とhisiのソースコードの違いを発見しました。そして2つのプログラムを詳しく比較しました。違いは見つかりませんでした。
最終的に、元のAndroidのjarパッケージのバージョンが異なることが分かりました。
Android 1.5のバージョンと2.2のバージョンは大きく違っています。
2.2は480*800である
1.5は320*480です
画面を描く時は必ず画面のレイアウトに注意して、プログラムのバージョンによって来ます。素材とアルゴリズムも違います。