有没有办法告诉ImageView像它一样宽?类似的东西:
<ImageView
layout_width="fill_parent"
layout_height="whatever width ends up being"
/>
由于
答案 0 :(得分:2)
我最近一直试图做类似的事情;据我所知,没有办法通过XML来做到这一点。你可以做的一件事是最初将高度设置为0,然后在布局时,在代码中检查宽度并设置高度。像这样:
final ImageView imageView = (ImageView)findViewById(R.id.my_image_view);
ViewTreeObserver vto = imageView.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int width = imageView.getWidth();
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(width, width);
imageView.setLayoutParams(params);
}
}
现在,没有测试过这个,如果你的布局的其余部分依赖于这个视图的大小,我不确定这个代码会产生什么影响,以及布局的其余部分是否会相应地调整自己。可能会让你开始。