我有一个带有ImageView的LinearLayout。 ImageView使用layout_weight占据LinearLayout的一半宽度:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2">
<ImageView
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1" />
</LinearLayout>
现在,我想要做的是确保此ImageView已经是正方形。我不能简单地设置高度,因为宽度是动态的,具体取决于当前屏幕的宽度。有没有办法可以确保高度始终与视图的宽度相匹配?
我试过这个:
imageView.getLayoutParams().height = imageView.getLayoutParams().width;
imageView.requestLayout();
但是我得到了NPE。有什么想法吗?