我的应用程序有一个整洁的背景,背景中已经包含“按钮”。
我想以某种方式用边界框或矩形包围这些“按钮”,然后让该区域响应触摸事件。
我怎么能在android中做到这一点?
谢谢!
我的应用程序有一个整洁的背景,背景中已经包含“按钮”。
我想以某种方式用边界框或矩形包围这些“按钮”,然后让该区域响应触摸事件。
我怎么能在android中做到这一点?
谢谢!
只需用任何布局包围它,并为该布局设置 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>
现在为按钮和线性布局放置单独的侦听器。这将与所有屏幕一致,即填充将在任何地方固定。
试用并使用
Region rgn = new Region();
在此,设置一个边界,该边界应该在按钮中。
并检查一个条件,如果您的点击在该区域的 x 和 y 范围内,请执行某些操作...
参考
添加一个视图(这将是透明的,并将位于所有视图组件的顶部)到您的布局。并为您的视图设置一个OnTouchListener。然后在预期的 X、Y 坐标内监听触摸事件。
有关更多信息和帮助,请单击此处
编辑:运行代码
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;
}
}