私はXamarin Androidを使い始めていて、現在フローティングアクションボタンを操作しています。View.IOnTouchListenerと通常のボタンクリックイベント(faButton.Click + = floatButtonPressed;私の行動を実行する。しかし、の場合、MotionEventActions.Moveは、私が望むように動作しません。左右に動かすとうまくいくが、上下に動かすと少し下に動く。また、画面の境界線にボタンを移動すると、画面を超えることができます。したがって、私は画面のサイズを検出し、それを制限しようとしましたが、まだ十分ではありません、他の利用可能なソリューションや設定はありますか?androidで可動かつクリック可能なボタンを作成する方法
public bool OnTouch(View v, MotionEvent e)
{
switch (e.Action)
{
case MotionEventActions.Down:
oldXvalue = e.GetX();
oldYvalue = e.GetY();
if (oldXvalue == e.GetX() && oldYvalue == e.GetY())
{
return false;
}
break;
case MotionEventActions.Up:
if (oldXvalue == e.GetX() && oldYvalue == e.GetY())
{
return false;
}
break;
case MotionEventActions.Move:
var xleft = (int)(e.RawX - oldXvalue);
var xright = xleft + v.Width;
var ytop = (int)(e.RawY - oldYvalue);
var ybtm = (ytop + v.Height);
if (xleft + v.Width >= intWidth)
{
break;
}
if (xleft <= 0)
{
break;
}
if (ytop + v.Height >= intHeight)
{
break;
}
if (ytop <= 0)
{
break;
}
v.Layout(xleft, ytop, xright, ybtm);
break;
}
return true;
}
あなたは削除し、削除によって意味ない何タッチ –
上のビュー(ボタン)を追加し、ビューを追加ドイスことができますか?あなたは私にいくつかのヒントを教えてもらえますか? @ JinalPatel –
あなたは、最後の位置に触れてどこから削除するかを追加するボタンを1つ使用することができる可動ボタンをご希望です。 –