基于当前屏幕的Android事件

时间:2013-05-23 16:08:01

标签: android events touch

我目前正在开始我的第一个Android应用

与大多数应用程序一样,我有一个开始屏幕,只要您触摸屏幕就会进入菜单。

我的问题是,根据当前显示的屏幕,在OnTouchEvent()中注册触摸操作的最佳方法是什么。

根据显示的内容或是否有更好的方法来设置开关或if / else语句会更好吗?

编辑清晰度:例如,假设您启动了应用并加载了标题屏幕。当您触摸标题屏幕上的任何位置时,它会加载第一页,其中包含许多菜单按钮。

OnTouchEvent()会有代码“当触摸任何地方显示第一个屏幕时。”

我想要的是现在菜单屏幕当前显示在屏幕而不是标题屏幕上。我不再希望“当触摸任何地方显示第一个屏幕时”。相反,我希望按钮根据标题执行不同的操作。因此,我必须改变OnTouchEvent()中发生的事情。

所以我要问的是,在我的OnTouchEvent()中有一堆if / else语句会更好吗?还是有更好的方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

你走了。

您的main.xml布局。例如main.xml

<LinearLayout android:id="@+id/mainLayout"
 xmlns:android="http://schemas.android.com/apk/res/android"

  android:layout_width="match_parent"
  android:layout_height="match_parent" >

  // your other views ....

  </LinearLayout>

您的活动

public class MyActivity extends Activity implements OnTouchListener 
{ 

@Override
public void onCreate(Bundle savedInstanceState) 
   { 
   super.onCreate(savedInstanceState); 

   setContentView(R.layout.main); 

   findViewById(R.id.mainLayout).setOnTouchListener(this);

   } 

@Override
 public boolean onTouch(View v, MotionEvent event) 
   { 

      // do whatever you want
   } 
 }