具体使用下面的代码,有没有办法修改它,以便这个新创建的视图下的活动不会收到任何手势?
View v1 = new View(this);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
1000,
50,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
PixelFormat.OPAQUE);
params.gravity = Gravity.BOTTOM;
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
wm.addView(v1, params);
Run Code Online (Sandbox Code Playgroud)
Joh*_*tta 98
onTouchEvent向顶部位置的视图添加方法,然后返回true.True将告诉事件冒泡,事件被消耗,因此阻止事件冒泡到其他视图.
protected boolean onTouchEvent (MotionEvent me) {
return true;
}
Run Code Online (Sandbox Code Playgroud)
因为v1你会做一个导入:
import android.view.View.OnTouchListener;
Run Code Online (Sandbox Code Playgroud)
然后设置onTouchListener:
v1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
vov*_*ost 51
View v1 = new View(this);
v1.setClickable(true);
v1.setFocusable(true);
Run Code Online (Sandbox Code Playgroud)
要么
<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My button"
android:focusable="true"
android:clickable="true"/>
Run Code Online (Sandbox Code Playgroud)
这样可以防止触摸和点击事件传播到视图下方的视图.
或者,如果您将视图扩展为.xml添加android:clickable="true"
Dhr*_*tel 19
你也可以这样做.您可以将触摸侦听器设置为子视图,然后在onTouch()事件中,您可以阻止intercept touch event父视图.
即
View v = findViewById(R.id.sample_view);
v.setOnTouchListener(new OnTouchListener() {
// Setting on Touch Listener for handling the touch inside ScrollView
@Override
public boolean onTouch(View v, MotionEvent event) {
// Disallow the touch request for parent scroll on touch of child view
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
小智 5
您添加如下所示的视图,但请确保它是您添加到xml中的最后一个视图。xml中的最后一项是位于其下所有其他视图之上的项目。
<View
android:id="@+id/blocking_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#AA666666"
android:clickable="true"
android:focusable="true"
android:visibility="visible"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41801 次 |
| 最近记录: |