酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

AndroidでImageViewのマージンを変更する

Androidアプリのド短期案件対応中です。かなーり久しぶりなので本を読んだり、ネットで調べながら昔の勘を取り戻しながら進めています。

下図のようにSlideBarの変化に伴って、バーの上部に配置したImageViewを連動させて動かしたいと考えています。

f:id:ch3cooh393:20130108200951j:plain

そもそもViewをどうやって動かすべきか悩んだ結果、SlideBarの変化に応じて左のマージンの距離を変えることを思いつきました。Viewの現在のマージンを取得して、値を変更して、再度ImageViewへ反映させました。

// IDからImageViewを取得する
ImageView imageView = (ImageView)findViewById(R.id.thumb_image);

// ImageViewからマージンを取得
MarginLayoutParams lp = (MarginLayoutParams)imageView.getLayoutParams();
// 移動させたい距離に変更
lp.leftMargin = 255;
// ImageViewへ反映
imageView.setLayoutParams(lp);