0

コードを使用して相対レイアウトにある画像のサイズを動的に変更しようとしています

int height = v.getHeight();
   int width = v.getWidth();
height += 50;
width += 50; 
RelativeLayout.LayoutParams layout = new RelativeLayout.LayoutParams(height, width);
layout.setMargins(200, 200, 200, 200);
layout.addRule(RelativeLayout.CENTER_IN_PARENT);
    v.setLayoutParams(layout);

ここで v はビュー (この場合は imageView) です。ルールは完全に機能します。画像は中央に配置されますが、取得したいのは、画像をその場所に配置する必要があることです。つまり、画像が場所 (100,100) にある場合、サイズを大きくして、画像を同じ場所または配置する必要がある場所に配置する必要があります。誰でも私に提案してください。

4

1 に答える 1

0

あなたが求めていることは、ルールを作成するだけではできません。このような位置合わせには、追加の作業を行う必要があります。

1)addRuleを使用して親を左に揃え、親を上に揃えてから、左と上の余白を設定して、画像を100、100または200、50などの任意の位置に揃えます。その後、位置を変更せずに画像のサイズを変更できます。

2) 画像を CENTER_IN_PARENT に揃えたままにしておくと、画像のサイズ変更は少し典型的です。画像を中央に配置するには、サイズの増加に応じて左と上のパディングを増やす必要があります。

画像のサイズが 100x100 で、新しいサイズが 150x150 の
場合、レイアウト パラメーターを幅 x 高さ 200x200 に設定し、画像の左右のパディングを 50 に設定する必要があります。

私はそれが明確であることを願っています

于 2013-07-22T08:50:37.073 に答える