有人可以用C#解釋我這個Java代碼,因爲我使用Mono for Android?例如,我無法在Mono for Android中找到OnGlobalLayoutListener。OnGlobalLayoutListener in Mono for Android
在Android上,它看起來像這樣:
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int newWidth, newHeight, oldHeight, oldWidth;
//the new width will fit the screen
newWidth = metrics.widthPixels;
//so we can scale proportionally
oldHeight = iv.getDrawable().getIntrinsicHeight();
oldWidth = iv.getDrawable().getIntrinsicWidth();
newHeight = Math.floor((oldHeight * newWidth)/oldWidth);
iv.setLayoutParams(new LinearLayout.LayoutParams(newWidth, newHeight));
iv.setScaleType(ImageView.ScaleType.CENTER_CROP);
//so this only happens once
iv.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
});
什麼是單聲道的Android相同呢?
這個工作,但是,我想事件處理程序是隻執行一次。我試圖創建一個方法處理程序,並在方法中調用事件中的 - =。這似乎並沒有阻止這名隊員的射擊。 –
你能解釋一下它是什麼嗎? – Merian
@Merian View樹觀察者 –