如何以良好的性能扩展ViewGroup及其子视图

时间:2014-03-05 08:23:59

标签: android

我正在实施 YouTube 应用之类的内容,您可以将视频窗口拖到右下角。
我可以使用 setLayoutParam()达到相同的效果,但结果并不像我预期的那么快(与YouTube一样流畅)。
所以我改用 setScaleX setScaleY 。它速度快,行为类似于 YouTube 应用。但规模似乎并未适用于儿童观点 那么,我该怎么做才能有效地扩展ViewGroup及其子视图。谢谢。

layout.xml:

<ScalableRelativeLayout android:id="@+id/parent" >
     <VideoView android:id="@+id/video"/>
</ScalableRelativeLayout>

父级缩放时,视频似乎没有缩放,只显示部分内容。我猜父母的比例没有传递给它的孩子,所以我覆盖了下面的方法。

覆盖方法:

@Override
protected void dispatchDraw(Canvas canvas) {
    canvas.save();      
    canvas.scale(mScale, mScale);
    super.dispatchDraw(canvas);     
    canvas.restore();
}

ScalableRelativeLayout扩展RelativeLayout并覆盖上面的方法。现在父级内的视频比例,只占据左上区域。
视频内容似乎不受视图影响。

0 个答案:

没有答案