C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です.

ビュー(View)を任意のサイズに変更する方法は2通りある.
以下では, エディットテキストとボタンのサイズを変更しているが, ビューを継承する他のウィジェットでも同様にサイズを変更できる.



XMLファイルにより設定

  • res/layout/main.xml
    • レイアウトの横幅と縦の長さを"wrap_content"にする. "fill_parent"にすると, 元のサイズに関係なく可能な限り拡大するため, サイズを設定しても無効となる.
    • テキストビューの横幅と縦の長さを設定する.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <EditText android:id="@+id/edit_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="エディットテキスト"
    android:width="200.0px"
    android:height="100.0px"
    />
  <Button android:id="@+id/button_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="ボタン"
    android:width="100.0px"
    android:height="80.0px"
  />
</LinearLayout>

コードにより設定

    • TextView#setWidthメソッドやsetHeightメソッドで, 横幅と縦の高さを設定する.
package com.moonlight_aska.android.setsize01;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;

public class SetSize01 extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    EditText edit = (EditText)findViewById(R.id.edit_id);
    edit.setText("エディットテキスト");
    edit.setWidth(200);
    edit.setHeight(100);

    Button btn = (Button)findViewById(R.id.button_id);
    btn.setText("ボタン");
    btn.setWidth(100);
    btn.setHeight(80);
  }
}

このページへのコメント

askaです.

これだけの情報では判断できません.
XMLファイルで, editのlayout_width/heightに"fill_parent"を
設定している場合にはサイズ指定は無効になります.
何にしていますか?

1
Posted by aska 2016年09月14日(水) 00:02:19 返信

edit.setWidth(200);
edit.setHeight(100);

btnやtv等でも同様なのですが、setWidthやsetHeightメソッドでサイズ調整が行えないのですが何がいけないのか分かりません。

0
Posted by 初心者プログラマ 2016年09月13日(火) 00:18:01 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu


逆引き(基礎編)

画面表示/操作(49)

フラグメント(1)

逆引き(応用編)

Firebase(2)

AD



管理人/副管理人のみ編集できます