pec*_*eps 55
这是一个禁用某些视图组的所有子视图的功能:
/**
* Enables/Disables all child views in a view group.
*
* @param viewGroup the view group
* @param enabled <code>true</code> to enable, <code>false</code> to disable
* the views.
*/
public static void enableDisableViewGroup(ViewGroup viewGroup, boolean enabled) {
int childCount = viewGroup.getChildCount();
for (int i = 0; i < childCount; i++) {
View view = viewGroup.getChildAt(i);
view.setEnabled(enabled);
if (view instanceof ViewGroup) {
enableDisableViewGroup((ViewGroup) view, enabled);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Erc*_*can 17
覆盖dispatchTouchEvent
活动的方法,如下所示:
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
return true;//consume
}
Run Code Online (Sandbox Code Playgroud)
如果返回,true
则禁用所有触摸事件.
返回false
让他们正常工作
OWA*_*DVL 15
你可以尝试:
your_view.setEnabled(false);
Run Code Online (Sandbox Code Playgroud)
哪个应该禁用触摸事件.
或者你可以试试(感谢Ercan):
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
return true;//consume
}
Run Code Online (Sandbox Code Playgroud)
要么
public boolean dispatchTouchEvent(MotionEvent ev) {
if(!onInterceptTouchEvent()){
for(View child : children){
if(child.dispatchTouchEvent(ev))
return true;
}
}
return super.dispatchTouchEvent(ev);
}
Run Code Online (Sandbox Code Playgroud)
小智 11
这段代码基本上会将此事件传播到父视图,允许触摸事件,当且仅当inProgress
变量设置为false
.
private boolean inProgress = false;
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (!inProgress)
return super.dispatchTouchEvent(ev);
return true;
}
Run Code Online (Sandbox Code Playgroud)
最简单的方法是
private fun setInteractionDisabled(disabled : Boolean) {
if (disabled) {
window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE, WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE)
} else {
window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE)
}
}
Run Code Online (Sandbox Code Playgroud)
用这个。返回true表示侦听器已经消耗了该事件,而android无需执行任何操作。
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
72420 次 |
最近记录: |