Android
 Computer >> コンピューター >  >> プログラミング >> Android

AndroidでImageViewの幅と高さをプログラムで設定する方法【コード例付き】

はじめに

この記事では、Androidアプリ開発において、ImageViewの幅(width)と高さ(height)をプログラム(Javaコード)から動的に設定する方法を解説します。XMLレイアウトだけでなく、コード上でサイズを制御したい場合に役立つテクニックです。

手順1:新規プロジェクトの作成

まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目を入力してプロジェクトを作成しましょう。

手順2:activity_main.xmlにコードを追加

次に、res/layout/activity_main.xmlに以下のコードを記述します。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:id="@+id/rlMain"
    android:layout_height="match_parent"
    android:layout_margin="16dp" />

ここでは、ImageViewを後から追加するための親コンテナとしてRelativeLayoutを配置しています。

手順3:MainActivity.javaにコードを追加

続いて、src/MainActivity.javaに以下のコードを記述します。

package app.com.sample;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        RelativeLayout rlMain = findViewById(R.id.rlMain);
        ImageView imageView = new ImageView(this);
        imageView.setImageResource(R.drawable.ic_launcher_background);
        RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
            RelativeLayout.LayoutParams.MATCH_PARENT,
            RelativeLayout.LayoutParams.MATCH_PARENT
        );
        imageView.setLayoutParams(params);
        rlMain.addView(imageView);
    }
}

このコードのポイントは以下の通りです。

  • ImageViewの生成: new ImageView(this)でImageViewインスタンスをコード上で作成します。
  • 画像の設定: setImageResource()メソッドで表示する画像リソースを指定します。
  • サイズの指定: RelativeLayout.LayoutParamsのコンストラクタに幅と高さを渡し、setLayoutParams()で適用します。ここではMATCH_PARENTを指定していますが、WRAP_CONTENTdpをpxに変換した固定値を指定することも可能です。
  • ビューの追加: addView()で親レイアウトにImageViewを追加します。

手順4:AndroidManifest.xmlの確認

androidManifest.xmlには以下のように記述します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

アプリの実行

それでは、アプリを実行してみましょう。実機のAndroidスマートフォンをパソコンに接続しているものとします。Android Studioからアプリを起動するには、プロジェクトのアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックします。デバイスを選択して実行すると、接続したモバイル端末の画面にImageViewが表示されます。

AndroidでImageViewの幅と高さをプログラムで設定する方法【コード例付き】

まとめ

このように、LayoutParamsを使うことで、ImageViewの幅と高さをプログラムから自由に制御できます。画面の向きやデバイスのサイズに応じて動的にレイアウトを変更したい場合など、XMLレイアウトだけでは対応しきれない場面でぜひ活用してみてください。

  1. HTMLでセルの幅と高さを設定する方法【CSSを使った実装例つき】

    HTMLでセルの幅と高さを設定する基本テーブルのセル(<td>)の幅や高さを設定するには、CSSスタイルを使用します。HTML5では、<td>要素のheight属性やwidth属性はサポートされていないため、代わりにCSSのwidthプロパティとheightプロパティを使ってセルのサイズを指定しましょう。style属性によるスタイルの上書きに注意要素に直接記述するstyle属性は、グローバルに設定されたスタイルよりも優先されます。つまり、HTML内の<style>タグや外部スタイルシートで定義したスタイルが存在しても、style属性による指定が優先して適用さ

  2. Android TVでADBを設定して使う方法|PCとの接続手順と活用テクニック

    AndroidスマートフォンであれAndroid TVであれ、OSの本質は同じです。つまり、Android TVは他のAndroidデバイスと同じように自由にカスタマイズできるということです。 Androidアプリのサイドローディングなど、本格的なカスタマイズを行いたい場合は、「Android Debug Bridge(ADB)」の力が必要になります。この記事では、ADBを使ってAndroid TVをPCに接続する方法を詳しく解説します。 PCにADBをセットアップする方法 まず最初のステップは、お使いのPCにADBをインストールすることです。そのためには、Android Developers