XMLではなくコードを使用してImageViewのマージンを設定する方法 質問する

XMLではなくコードを使用してImageViewのマージンを設定する方法 質問する

ImageViewレイアウトにマージン付きの不明な数のビューを追加したいです。 XML では、layout_margin次のように使用できます。

<ImageView android:layout_margin="5dip" android:src="@drawable/image" />

はありますImageView.setPadding()が、 はありませんImageView.setMargin()。 に似ていると思いますImageView.setLayoutParams(LayoutParams)が、そこに何を入力すればよいかわかりません。

誰か知っていますか?

ベストアンサー1

android.view.ViewGroup.MarginLayoutParamsにはメソッド がありますsetMargins(left, top, right, bottom)。直接のサブクラスは、FrameLayout.LayoutParamsLinearLayout.LayoutParamsですRelativeLayout.LayoutParams

例えば次のように使用しますLinearLayout:

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(left, top, right, bottom);
imageView.setLayoutParams(lp);

マージンレイアウトパラメータ

余白をピクセル単位で設定します。拡大縮小するには

context.getResources().getDisplayMetrics().density

ディスプレイメトリック

おすすめ記事