如何在Android的屏幕的某些区域创建touchevents?

时间:2012-10-16 23:33:03

标签: android

我的应用程序背景很简洁,背景中已包含“按钮”。

我想以某种方式用边界框或矩形包围这些“按钮”,然后让该区域响应触摸事件。

我怎么能在android中这样做?

谢谢!

4 个答案:

答案 0 :(得分:0)

只需使用任何布局和setOnClickListener为该布局包围它。

作为一个例子

 <LinearLayout 
   android:background="#abc123"
   android:layout_height="wrap_content"
   android:layout_width="wrap_content"
   android:paddingBottom="10dp"
   android:paddingTop="10dp"
   android:id="@+id/lay1">

 <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />
 </LinearLayout>

现在为按钮和线性布局设置单独的监听器。这将与所有屏幕一致,即填充将在任何地方固定。

答案 1 :(得分:0)

  1. 以XML格式添加按钮
  2. 附加Click Listener
  3. 运行应用程序
  4. 如需更多信息和帮助,请点击here

    编辑:运行代码

    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.but_1_but:
            // do stuff for 1st button
            break;
        case R.id.but_2_but:
            // do stuff for 2nd button
            break;
        }
    }
    

答案 2 :(得分:0)

在布局中添加查看(这将是透明的,将位于所有视图组件的顶部)。并为您的View设置 OnTouchListener 。然后在预期的X,Y坐标中听取触摸事件。

答案 3 :(得分:0)

尝试并使用

Region rgn = new Region();

在此,设置应该在按钮中的边界。

并检查一个条件,如果您的点击位于此区域的x和y范围内,请执行某些操作...

参考

http://www.java2s.com/Code/Android/2D-Graphics/Regions.htm