【问题标题】:How to simulate HAND GESTURES using code in Android如何在 Android 中使用代码模拟手势
【发布时间】:2015-04-01 04:36:05
【问题描述】:

我正在为我的应用程序(软键盘)开发用户指南教程,基本上在教程中,我需要以编程方式模拟一组手势,包括“单击”、“滑动”、“长按和滑动”等。我对如何实现这一点没有基本的了解,我在互联网上进行了搜索,但仍然没有得到任何有用的发现。

那么有没有人好心给我一些关于如何实现这一点的建议,如果可能的话,请给我一个简单的代码示例。非常感谢,请帮忙。

【问题讨论】:

    标签: android simulation gesture


    【解决方案1】:

    您不需要为您的教程模拟手势。只是假装执行了手势。例如,假设您想教用户长按按钮以触发某些操作。在这种情况下,您可以显示将用户引导至按钮并指示长按的图形或动画。例如,您可以显示按下按钮的手指图像。然后,直接触发动作。无需模拟手势,直接触发动作即可。

    【讨论】:

    • 这是一个非常鼓舞人心的建议。谢谢
    【解决方案2】:

    如果您正在开发教程或浏览 App,我会建议您使用一些屏幕投射软件,您不必以编程方式进行。

    在设置 > 开发者选项 > 保持打开下有选项显示触摸(打开)。它会给你反馈你触摸的地方。

    这里有一些工具可以帮助录制屏幕投射

    Droid@Screen

    另一个有用的工具是:

    AndroidScreenCast

    其他方式将在 After Effect 中,在重新编码您的截屏视频后,在 After Effect 中添加手势

    【讨论】:

    • 感谢您的建议。如果我只需要开发一个纯教程,你推荐我的软件确实很好用。但就我而言,教程不仅仅是一个简单的视频或某事。这确实是一个真实的活动,这意味着我必须编写一些代码来模拟本教程活动中的一些手势,以便它从一开始就向用户展示如何使用该应用程序,然后用户可以与教程活动进行交互以执行一些简单的操作行动。所以恐怕我仍然需要为模拟编写代码。
    • 在这种情况下,简单的方法是,只需创建一个截屏视频并在用户第一次打开应用程序时播放它,它不会是交互式的,你是对的,网络上没有教程来编码App的模拟
    【解决方案3】:

    对于滑动视图,您可以参考此链接:http://developer.android.com/training/implementing-navigation/lateral.html。 对于按钮单击,只需调用 onclicklistener() 并将其标识为您要使用的按钮。 长按,这里是代码:(省略数字)

      import android.app.Activity;
        02
        import android.os.Bundle;
        03
        import android.view.View;
        04
        import android.view.View.OnClickListener;
        05
        import android.view.View.OnLongClickListener;
        06
        import android.widget.TextView;
        07
        import android.widget.Toast;
        08
    
        09
        public class LongPress extends Activity {
        10
    
        11
         @Override
        12
         protected void onCreate(Bundle savedInstanceState) {
        13
          super.onCreate(savedInstanceState);
        14
          setContentView(R.layout.activity_long_press);
        15
          TextView txtView = (TextView) findViewById(R.id.txtView);
        16
          txtView.setOnLongClickListener(new OnLongClickListener() {
        17
           @Override
        18
           public boolean onLongClick(View v) {
        19
            // TODO Auto-generated method stub
        20
            Toast.makeText(getApplicationContext(),
        21
              "You have pressed it long :)", 2000).show();
        22
            return true;
        23
           }
        24
          });
        25
          txtView.setOnClickListener(new OnClickListener() {
        26
           @Override
        27
           public void onClick(View v) {
        28
            // TODO Auto-generated method stub
        29
            Toast.makeText(getApplicationContext(), "Not Long Enough :(",
        30
              1000).show();
        31
           }
        32
          });
        33
         }
        34
    
        35
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-14
      • 2013-01-10
      • 2012-12-04
      • 1970-01-01
      • 2011-12-08
      • 2011-12-27
      相关资源
      最近更新 更多