0

これは私の活動ではありません!これは、クラス ファイルに拡張された Surface ビューを使用している別のクラス ファイルです。キャンバスに小さなビット マップを表示したかったのですが、ビット マップは携帯電話の画面よりも非常に小さいので、createscaledbitmapこのコードを使用して携帯電話の画面に収まるように使用しました

  Bitmap  o2 = Bitmap.createScaledBitmap( hud, 800, 490, false);

私の携帯電話ではうまく機能しましたが、より大きな携帯電話でテストしたとき、ビットマップは画面の 3/4 しか貼り付けられていませんでした..だから、携帯電話の画面サイズを修正するためにビットマップを作成したいと思います

Bitmap  o2 = Bitmap.createScaledBitmap( hud, phonescreenwidth, phonescreenheight, false);

電話の表示サイズを取得してコードで使用する機能はありますか? お気に入り
int phonescreenwidth = surfaceView.getwidth ();

protected void onMeasure (int widthMeasureSpec, int heightMeasureSpec) そして、私はそれを使用する方法がわからないという機能があり ます。誰かが知っているなら、方法も教えてください:)

皆さん、ありがとうございました

4

3 に答える 3

1

このようにして、デバイスの幅と高さを取得し、メソッドに渡すことができます..

WindowManager manager = (WindowManager) getApplicationContext().getSystemService(Activity.WINDOW_SERVICE);
    int width, height;
    LayoutParams params;
    if (Build.VERSION.SDK_INT > VERSION_CODES.FROYO) {
        width = manager.getDefaultDisplay().getWidth();
        height = manager.getDefaultDisplay().getHeight();
    } else {
        Point point = new Point();
        manager.getDefaultDisplay().getSize(point);
        width = point.x;
        height = point.y;
    }
于 2013-10-22T10:39:06.683 に答える
1

DisplayMetrics displaymetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int height = displaymetrics.heightPixels; int width = displaymetrics.widthPixels;

ここを参照してくださいhttp://developer.android.com/guide/practices/screens_support.html#testing

画面のサイズをピクセル単位で取得する

于 2013-10-22T10:39:11.920 に答える
0

これを試して画面サイズを取得してください、、

ディスプレイ表示 = getWindowManager().getDefaultDisplay(); int 幅 = display.getWidth(); int 高さ = display.getHeight();

次に、ur baseActivity から現在のアクティビティにコンテキストを渡してみてください

そして context.getWindowManger... を試してください。

于 2013-10-22T10:33:31.303 に答える