![](/img/trans.png)
[英]Android.Media.AudioTrack.GetMinBufferSize Method - how to use its syntax in Xamarin.Android (c#)?
[英]Xamarin.android : using listeners in C#
我有一個用Java編寫的android庫,我想將其翻譯為Xamarin android C#,但是我在使用偵聽器時遇到了問題。
例如,在Java中,對按鈕使用OnClick偵聽器的方法是:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
但是在C#中,沒有new View.IOnClickListener()這樣的東西。
我知道我應該用
button.Click+= (o,e) => {
// Perform action on click
};
但我不是在談論此事件,Android中有更復雜的偵聽器,例如GestureDetector和ValueAnimator.AnimatorUpdateListener。 在Android Java中,這些添加方式相同(匿名類)。
這些匿名類型在C#中如何使用? 包括類和接口? 以及如何在C#中使用與Java使用相同的方式?
我認為每種情況都會有所不同。 在大多數情況下,OnClickListener會轉換為Click事件,但涉及的手勢要多一些。 有關更多信息,請參見幫助文檔 。 有一個很好的手勢示例,例如從那里獲取的這個偵聽器示例:
public class Activity1 : Activity, GestureDetector.IOnGestureListener
{
public bool OnDown(MotionEvent e)
{
}
public bool OnFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
}
public void OnLongPress(MotionEvent e) {}
public bool OnScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
{
}
public void OnShowPress(MotionEvent e) {}
public bool OnSingleTapUp(MotionEvent e)
{
return false;
}
}
偵聽器使您可以更好地控制用戶交互。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.