Android将ImageView的宽度设置为另一个元素的比例(给定id)

时间:2014-03-20 18:05:18

标签: android layout

我有一个ImageView:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/pbc"
    android:layout_below="@id/ryc"/>

是否有可能将其宽度设置为id“@ id / ryc”的另一个元素的百分比,就像我在android中所做的那样:layout_below?如果是这样,怎么做?

由于

2 个答案:

答案 0 :(得分:1)

您需要在活动中设置宽度,例如以下代码(只需将yourPercentage更改为您想要的百分比)(我已在您的imageview中添加了ID,但您可以更改它):< / p>

XML:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/pbc"
    android:id="@+id/pbcImageView"
    android:layout_below="@id/ryc"/>

的活动:

float perc = yourPercentage / 100;
ImageView imgView = (ImageView) findViewById(R.id.ryc);
ImageView pbcImageView = (ImageView) findViewById(R.id.pbcImageView);
pbcImageView.setWidth(imgView.getWidth() * perc)

希望它有所帮助!

答案 1 :(得分:0)

可能,您可以将它们放入LinearLayout并分配比例权重。

如果您的设计不允许这样做并且视图的大小需要反映动态更改,请尝试覆盖其中一个视图的onSizeChanged()并在此方法中调整另一个视图的大小。否则giacomoni的答案是最合适的。