我有這樣的佈局安卓:調整視圖不失位置
<RelativeLayout
android:id="@+id/gameportView"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<com.pepotegames.spotthedifferences.DifferenceView
android:id="@+id/imageA"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/progressBar1"
android:layout_centerHorizontal="true" />
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="16dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:max="1000"
android:progress="0" />
<com.pepotegames.spotthedifferences.DifferenceView
android:id="@+id/imageB"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/progressBar1"
android:layout_centerHorizontal="true" />
</RelativeLayout>
正如你所看到的,imageA和imageB相對於定位到我的進度。問題是我需要在運行時調整ProgressBar的大小。爲此,我有一個自定義偵聽器,當我的自定義View onSizeChanged方法被調用時觸發。
imageA.setOnSizeChangedLister(new DifferenceView.OnSizeChangedListener(){
@Override
public void onResize(){
level.scaleBy(imageA.getScale());
bar.setLayoutParams(new RelativeLayout.LayoutParams(imageA.getWidth(),bar.getHeight()));
}
});
一切工作正常,除了im傳遞一組新的LayoutParams到我的酒吧。那麼,如何調整進度條的大小而不會丟失android:layout_centerHorizontal =「true」和android:layout_centerVertical =「true」屬性?