Androidの勉強をしていこう


仕事で簡単なAndroidアプリを作って、どうせならもう少ししっかりと勉強しようと思ったので、わかった事を少しずつまとめて行きたいと思います。

ソースの中でビュー(ボタン)の大きさを変更する


まずはビューのひとつ、ボタンのサイズ変更を行うには

  • layoutのxmlファイルに記載する時に、「android:layout_width」や「android:layout_heigh」を「wrap_content」にする
  • setWidthやsetHeightでサイズを指定する。

を行う事で実現可能。

勉強時にwrap_contentではなく、200dpなどの固定値で書いていた為、サイズが変わらずに何でだ?となりました。
また「fill_parent」で記載しても最大サイズとなる為、setWidthでサイズが変更出来ません。

サンプルはこんな感じ

  1. public class BtnTest extends Activity {
  2.   @Override
  3.   public void onCreate(Bundle savedInstanceState) {
  4.     super.onCreate(savedInstanceState);
  5.     setContentView(R.layout.main);
  6.  
  7.     Button Btn01;
  8.  
  9.     /* ボタンビューのIDを取得 */
  10.     Btn01 =  (Button) findViewById(R.id.Btn01);
  11.     /* テキスト設定 */
  12.     Btn01.setText("200x200");
  13.     /* ボタンサイズの設定 */
  14.     Btn01.setWidth(200);
  15.     Btn01.setHeight(200);
  16.   }
  17. }

findViewByIdでボタンビューのIDを取得し、そこに「setWidth」でサイズを記載する。
ソースでなくxmlファイルで設定するには「wrap_content」ではなく、200dpと書けばOK。

画面一杯にボタンを表示する方法

続いては、画面一杯にボタンを表示してみます。

画面一杯にボタンを表示するには

  • タスクバーとステータスバーを表示しない
  • 画面サイズを取得する

を行う事で実現可能。

サンプルはこんな感じ

  1. public class BtnTest extends Activity {
  2.   @Override
  3.   public void onCreate(Bundle savedInstanceState) {
  4.     super.onCreate(savedInstanceState);
  5.  
  6.     /* タスクバーを削除 */
  7.     this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  8.     /* ステータスバーを削除 */
  9.     getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
  10.  
  11.     setContentView(R.layout.main);
  12.  
  13.     /* Windowサイズ取得 */
  14.     WindowManager windowmanager = (WindowManager)getSystemService(WINDOW_SERVICE);
  15.     Display disp = windowmanager.getDefaultDisplay();
  16.     int width = disp.getWidth();
  17.     int height = disp.getHeight();
  18.  
  19.     Button Btn01;
  20.  
  21.     /* ボタンビューのIDを取得 */
  22.     Btn01 =  (Button) findViewById(R.id.Btn01);
  23.     /* テキスト設定 */
  24.     Btn01.setText("fullxfull");
  25.     /* ボタンサイズの設定 */
  26.     Btn01.setWidth(width);
  27.     Btn01.setHeight(height);
  28.   }
  29. }

タスクバーを削除するには

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:

Leave a Reply