直質疑,我現在有一個SurfaceView
裏面RelativeLayout
如下:TranslateAnimation用的RelativeLayout和SurfaceView
<RelativeLayout
android:id="@+id/surfaceframe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FF000000"
android:visibility="visible" >
<SurfaceView
android:id="@+id/surface"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:visibility="visible" />
</RelativeLayout>
我有一個要求,使RelativeLayout
其SurfaceView
對待着。簡單。
mPlayerFrame.setTranslation(distance);
這mPlayerFrame
對於RelativeLayout.
可變不過,我也有支持的API級別10.客戶堅持這樣做。在瀏覽這裏和其他地方後,我想出了這段代碼。
TranslateAnimation anim = new TranslateAnimation(0,0,distance,distance);
anim.setFillAfter(true);
anim.setDuration(0);
mPlayerFrame.startAnimation(anim);
與上面的代碼,我看得出來,mPlayerFrame
移動,但回放(mPlayerView
的SurfaceView
)顯然並沒有移動。
到目前爲止,我已經試過如下:
設置的動畫
mPlayerView
mPlayerView.startAnimation(anim);
設置offsetTopAndBottom
它不使用這一招,但在遠遠高於其中的速率
mPlayerFrame
正在移動。
所以總結一下,我有一個SurfaceView
內RelativeLayout
,我想其SurfaceView
孩子身邊待着這個RelativeLayout
。使用API級別11+很容易實現,但我也必須支持API Level 10。
謝謝
嘿,太棒了!有用。這是一個遺留項目,所以我沒有想到它包含九個Android。驚喜地看到它:) –