私はこの表面図を手に入れました
<SurfaceViewandroid:id="@+id/videoview"android:layout_width="720px"android:layout_height="480px"/>
サイズを自動的に表示サイズに設定する方法を教えてください。すべての Android フォンには別のディスプレイ サイズがあるためですか?
ありがとう!
これを xml で定義していますか? 次にandroid:layout_width="fill_parent"
、親コンテナで同じものを使用します:)
それ以外の場合は、プログラムでこれを行う場合は @Shark の回答を参照してください
you'll have to catch it in onSurfaceCreated() and try to resize it there...
private class surfaceCallback implements SurfaceHolder.Callback
{
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
{
if (holder == videoHolder)
{
Log.e(TAG, "video surfaceChanged: f: " + format + ", w: " + width + ", h: " + height);
//resize it here maybe?
} else
{
Log.e(TAG, "Unknown surface: f: " + format + ", w: " + width + ", h: " + height);
assert (false);
}
}
@Override
public void surfaceCreated(SurfaceHolder holder)
{
Log.e(TAG, "surfaceCreated");
}
@Override
public void surfaceDestroyed(SurfaceHolder holder)
{
Log.e(TAG, "surfaceDestroyed");
}
}
one possible way to get your display size...
//measured android resolution
WindowManager win = (WindowManager) getApplicationContext().getSystemService(WINDOW_SERVICE);
Display d = win.getDefaultDisplay();
Point measuredResolution = new Point();
d.getSize(measuredResolution); //measuredResolution now holds actual size.