API が新しくなって, 少し変更したようです (English is here )
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x; // width
int height = size.y; // height
簡単に抜き出すとこんな感じ。 これを Activity の中で毎回使うわけですが, 毎回同じコードを書くのが面倒。いっそのこと, Activity 全体で使えるようにしておけばいいのでは, 思うわけです。
public class DisplayActivity extends Activity
{
private int windows_width;
private int window_height;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
this.windows_width = size.x; // width
this.window_height = size.y; // height
}
public int getWidth()
{
return windows_width;
}
public int getHeight()
{
return window_height;
}
}
新しいActivity をつくり, そこの onCreate で取得し, getWidth(), getHeight()というメソッドを追加しておきました。Activity をextend する代わりに, こちらをextends して使えばいつでも使えます。使わない場合は, パフォーマンスのため, Activity でよいでしょう。
テスト
public class MainActivity extends DisplayActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.v("Display", "Width:" + getWidth() + " Height:" + getHeight());
}
}
Log Cat に表示させてみます。
public class DisplayActivity extends Activity
{
private int windows_width;
private int window_height;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
this.windows_width = size.x; // width
this.window_height = size.y; // height
}
public int getWidth()
{
return windows_width;
}
public int getHeight()
{
return window_height;
}
}
新しいActivity をつくり, そこの onCreate で取得し, getWidth(), getHeight()というメソッドを追加しておきました。Activity をextend する代わりに, こちらをextends して使えばいつでも使えます。使わない場合は, パフォーマンスのため, Activity でよいでしょう。
テスト
public class MainActivity extends DisplayActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.v("Display", "Width:" + getWidth() + " Height:" + getHeight());
}
}
Log Cat に表示させてみます。
0 件のコメント:
コメントを投稿