制作视图的layout_width =“match_parent”并使高度等于其宽度的简单方法是什么?

时间:2011-07-11 19:51:42

标签: android android-layout

我想要一个类似于Rdio应用中的专辑封面的视图(img

我不知道应该怎么做。我想在视图中加载一个位图,如果这会影响解决方案。

1 个答案:

答案 0 :(得分:2)

在这种情况下(控件具有设备的整个宽度),您始终只需使用getWindowManager().getDefaultDisplay().getWidth();来获取宽度,然后手动设置高度。

如果您没有使用完整的显示宽度,那么您可能需要覆盖View类中的onMeasure并设置高度以匹配其中的宽度,可能是这样的:

@Override protected void onMeasure( int widthMeasureSpec, int heightMeasureSpec )
{
    viewWidth = MeasureSpec.getSize( widthMeasureSpec );
    viewHeight = MeasureSpec.getSize( heightMeasureSpec );

    if(viewWidth != 0) viewHeight = viewWidth;
    setMeasuredDimension( viewWidth, viewHeight );
}