仕事で簡単なAndroidアプリを作って、どうせならもう少ししっかりと勉強しようと思ったので、わかった事を少しずつまとめて行きたいと思います。
ソースの中でビュー(ボタン)の大きさを変更する
まずはビューのひとつ、ボタンのサイズ変更を行うには
- layoutのxmlファイルに記載する時に、「android:layout_width」や「android:layout_heigh」を「wrap_content」にする
- setWidthやsetHeightでサイズを指定する。
を行う事で実現可能。
勉強時にwrap_contentではなく、200dpなどの固定値で書いていた為、サイズが変わらずに何でだ?となりました。
また「fill_parent」で記載しても最大サイズとなる為、setWidthでサイズが変更出来ません。
サンプルはこんな感じ
[java]
public class BtnTest extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button Btn01;
/* ボタンビューのIDを取得 */
Btn01 = (Button) findViewById(R.id.Btn01);
/* テキスト設定 */
Btn01.setText("200×200");
/* ボタンサイズの設定 */
Btn01.setWidth(200);
Btn01.setHeight(200);
}
}
[/java]
findViewByIdでボタンビューのIDを取得し、そこに「setWidth」でサイズを記載する。
ソースでなくxmlファイルで設定するには「wrap_content」ではなく、200dpと書けばOK。
画面一杯にボタンを表示する方法
続いては、画面一杯にボタンを表示してみます。
画面一杯にボタンを表示するには
- タスクバーとステータスバーを表示しない
- 画面サイズを取得する
を行う事で実現可能。
サンプルはこんな感じ
[java]
public class BtnTest extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* タスクバーを削除 */
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
/* ステータスバーを削除 */
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
/* Windowサイズ取得 */
WindowManager windowmanager = (WindowManager)getSystemService(WINDOW_SERVICE);
Display disp = windowmanager.getDefaultDisplay();
int width = disp.getWidth();
int height = disp.getHeight();
Button Btn01;
/* ボタンビューのIDを取得 */
Btn01 = (Button) findViewById(R.id.Btn01);
/* テキスト設定 */
Btn01.setText("fullxfull");
/* ボタンサイズの設定 */
Btn01.setWidth(width);
Btn01.setHeight(height);
}
}
[/java]
タスクバーを削除するには
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
ステータスバーを削除するには
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
画面のサイズを取得するには
WindowManager windowmanager = (WindowManager)getSystemService(WINDOW_SERVICE);
Display disp = windowmanager.getDefaultDisplay();
int width = disp.getWidth();
int height = disp.getHeight();
getWidthで画面横のサイズ、getHeightで画面縦のサイズを取得できる。
Tags: Android