xmlレイアウトファイルに記述する方法とソースコードで記述する方法があります。
結果はどちらも同じで、下記のようになります。
例)xmlレイアウトファイルで記述する方法
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" />
例)ソースコードで記述する方法
LinearLayout layout = (LinearLayout) findViewById(R.id.layout); ImageView view = new ImageView(this); view.setImageResource(R.drawable.ic_launcher); view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); layout.addView(view);
画像のサイズはコンテンツと同じサイズになるようにwrap_contentを指定しています。xmlで指定しているlayout_width、layout_heightとソースコードでいうsetLayoutParams()は同じ設定を表します。ここで指定するviewのサイズに応じて画像のサイズもアスペクト比を維持できる範囲で最大の大きさに拡大・縮小されます。ちなみにサイズは絶対値で指定もできますが、setLayoutParams()のほうは単位がピクセル固定なので、dpで指定したい場合は変換が必要です。
参考:Android Developers:ImageView
No comments:
Post a Comment