点击事件

syblackZoro 2017-07-03 10:56:15
在LinearLayout里面有多个TextView,TextView有点击响应事件,LinearLayout也有点击响应事件,怎么在点击的时候某个条件成立的时候让LinearLayout去响应而TextView不响应。

text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "11111111", Toast.LENGTH_SHORT).show();
}
});

LinearLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (true) {
//不让TextView响应,LinearLayout执行操作
}
}
});
...全文
490 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jing丶無雙 2017-07-04
  • 打赏
  • 举报
回复
并没有做过,你网上找找嘛,应该是有的
syblackZoro 2017-07-04
  • 打赏
  • 举报
回复
引用 19 楼 qq_30837557 的回复:
这个事件分发
有没有类似的demo,我直接拦截了ACTION_DOWN,点击也实现不了了
兔兔那么可爱 2017-07-04
  • 打赏
  • 举报
回复
这个事件分发
syblackZoro 2017-07-03
  • 打赏
  • 举报
回复
linearLayout里面还嵌套有其他布局
syblackZoro 2017-07-03
  • 打赏
  • 举报
回复
引用 1 楼 xj396282771 的回复:
楼主的意思也不是太明白,大概按照我的理解:
private LinearLayout linearLayout;
	private TextView text;
	///怎么在点击的时候某个条件成立的时候
	private boolean isOffText;//定义一个全局变量,这个就是某个条件的控制。根据你的需求给它赋值
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
		text = (TextView) findViewById(R.id.text);
		text.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View view) {
				if (!isOffText) {//就无法执行text事件了
					Toast.makeText(MainActivity.this, "11111111",
							Toast.LENGTH_SHORT).show();
				}
			}
		});

		linearLayout.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View view) {
				if (isOffText) {//假设执行了linearLayout事件
					// 不让TextView响应,LinearLayout执行操作
				}
			}
		});
	}
是这个意思,但是linearLayout里面控件较多,不可能每一个都加一个判断,我想的是直接在linearLayout的点击事件里面限制TextView 的响应,条件为true的时候TextView 就不响应
Jing丶無雙 2017-07-03
  • 打赏
  • 举报
回复
楼主的意思也不是太明白,大概按照我的理解:
private LinearLayout linearLayout;
	private TextView text;
	///怎么在点击的时候某个条件成立的时候
	private boolean isOffText;//定义一个全局变量,这个就是某个条件的控制。根据你的需求给它赋值
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
		text = (TextView) findViewById(R.id.text);
		text.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View view) {
				if (!isOffText) {//就无法执行text事件了
					Toast.makeText(MainActivity.this, "11111111",
							Toast.LENGTH_SHORT).show();
				}
			}
		});

		linearLayout.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View view) {
				if (isOffText) {//假设执行了linearLayout事件
					// 不让TextView响应,LinearLayout执行操作
				}
			}
		});
	}
syblackZoro 2017-07-03
  • 打赏
  • 举报
回复
引用 15 楼 qq_28213759 的回复:
问题不是很清楚,说一下,你点击那里。你说的条件也说一个比如,才知道你大概想表达的条件。
你可以看下我下面的回复,就是滑动菜单滑出来之后点解非菜单区域,菜单滑回去,我想做的是主页面跟着菜单滑动而滑动的,不是菜单滑出来的时候覆盖主页面,然后实现点击非菜单区域菜单滑回去
syblackZoro 2017-07-03
  • 打赏
  • 举报
回复
引用 14 楼 xj396282771 的回复:
给你一个QQ的那种在滑出的时候主页上面覆盖了一个灰色的透明界面的效果,其他逻辑怕是只有你自己想了
backgroundAlpha(0.5f);//灰色效果
backgroundAlpha(1.0f);//恢复正常
/**
	 * 背景透明度
	 * 
	 * @param f
	 */
	private void backgroundAlpha(float f) {
		WindowManager.LayoutParams lp = context.getWindow().getAttributes();
		lp.alpha = f;
		context.getWindow().setAttributes(lp);
	}
你有没有做过那种用DrawerLayout实现滑动菜单但不是覆盖主页面的那种,主页面也跟着滑动的
我不玩IT 2017-07-03
  • 打赏
  • 举报
回复
问题不是很清楚,说一下,你点击那里。你说的条件也说一个比如,才知道你大概想表达的条件。
Jing丶無雙 2017-07-03
  • 打赏
  • 举报
回复
给你一个QQ的那种在滑出的时候主页上面覆盖了一个灰色的透明界面的效果,其他逻辑怕是只有你自己想了
backgroundAlpha(0.5f);//灰色效果
backgroundAlpha(1.0f);//恢复正常
/**
	 * 背景透明度
	 * 
	 * @param f
	 */
	private void backgroundAlpha(float f) {
		WindowManager.LayoutParams lp = context.getWindow().getAttributes();
		lp.alpha = f;
		context.getWindow().setAttributes(lp);
	}
syblackZoro 2017-07-03
  • 打赏
  • 举报
回复
引用 11 楼 qq_34364155 的回复:
[quote=引用 7 楼 syblackZoro 的回复:] [quote=引用 4 楼 xj396282771 的回复:] 嵌套有其他布局也没啥影响啊,其他布局你应该没设置点击事件撒
引用 6 楼 qq_34364155 的回复:
text.setClickable(false); text点击不响应
应该是我思路有问题,我要实现的就是QQ的那种滑动菜单点击主页面的时候菜单滑回去,用的HorizontalScrollView,QQ的那种是滑出来的时候主页面变灰了,滑出来的时候点击主页面的时候不会有其他事件响应,只是菜单滑回去,我想的是主页面那个布局添加一个点击事件判断是否滑出,如果是滑出状态就菜单滑回去,text.setClickable(false)这种方法设置一次就一直不能点击了,除非再设置成true,这种思路好像实现有点问题。QQ的那种应该是在滑出的时候主页上面覆盖了一个灰色的透明界面,不清楚怎么实现的[/quote] 那应该是这样的逻辑 text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (isOffText) {//如果是滑出状态 //回到主页面 }else{//如果是在主页面 //点击的事件 } } });[/quote]里面还有listview等一些其他需要点击的,每个都判断一下是不是太麻烦了
syblackZoro 2017-07-03
  • 打赏
  • 举报
回复
引用 10 楼 xj396282771 的回复:
大概看了一下,我用的是这个布局DrawerLayout安卓自带的侧滑栏效果,不知道满足你的需求不
DrawerLayout是滑出来的时候覆盖了主页面吧,我想弄成平滑的那种,菜单滑出来的时候主页面也是跟着滑动的,不覆盖主页面
寒冰大神 2017-07-03
  • 打赏
  • 举报
回复
引用 7 楼 syblackZoro 的回复:
[quote=引用 4 楼 xj396282771 的回复:] 嵌套有其他布局也没啥影响啊,其他布局你应该没设置点击事件撒
引用 6 楼 qq_34364155 的回复:
text.setClickable(false); text点击不响应
应该是我思路有问题,我要实现的就是QQ的那种滑动菜单点击主页面的时候菜单滑回去,用的HorizontalScrollView,QQ的那种是滑出来的时候主页面变灰了,滑出来的时候点击主页面的时候不会有其他事件响应,只是菜单滑回去,我想的是主页面那个布局添加一个点击事件判断是否滑出,如果是滑出状态就菜单滑回去,text.setClickable(false)这种方法设置一次就一直不能点击了,除非再设置成true,这种思路好像实现有点问题。QQ的那种应该是在滑出的时候主页上面覆盖了一个灰色的透明界面,不清楚怎么实现的[/quote] 那应该是这样的逻辑 text.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (isOffText) {//如果是滑出状态 //回到主页面 }else{//如果是在主页面 //点击的事件 } } });
Jing丶無雙 2017-07-03
  • 打赏
  • 举报
回复
大概看了一下,我用的是这个布局DrawerLayout安卓自带的侧滑栏效果,不知道满足你的需求不
Jing丶無雙 2017-07-03
  • 打赏
  • 举报
回复
明白你意思了,我也做过类似的效果,我找找看,太久了
syblackZoro 2017-07-03
  • 打赏
  • 举报
回复
引用 7 楼 syblackZoro 的回复:
[quote=引用 4 楼 xj396282771 的回复:] 嵌套有其他布局也没啥影响啊,其他布局你应该没设置点击事件撒
引用 6 楼 qq_34364155 的回复:
text.setClickable(false); text点击不响应
应该是我思路有问题,我要实现的就是QQ的那种滑动菜单点击主页面的时候菜单滑回去,用的HorizontalScrollView,QQ的那种是滑出来的时候主页面变灰了,滑出来的时候点击主页面的时候不会有其他事件响应,只是菜单滑回去,我想的是主页面那个布局添加一个点击事件判断是否滑出,如果是滑出状态就菜单滑回去,text.setClickable(false)这种方法设置一次就一直不能点击了,除非再设置成true,这种思路好像实现有点问题。QQ的那种应该是在滑出的时候主页上面覆盖了一个灰色的透明界面,不清楚怎么实现的[/quote]QQ现在不是那种滑动的了,手机TGP是这种情况
syblackZoro 2017-07-03
  • 打赏
  • 举报
回复
引用 4 楼 xj396282771 的回复:
嵌套有其他布局也没啥影响啊,其他布局你应该没设置点击事件撒
引用 6 楼 qq_34364155 的回复:
text.setClickable(false); text点击不响应
应该是我思路有问题,我要实现的就是QQ的那种滑动菜单点击主页面的时候菜单滑回去,用的HorizontalScrollView,QQ的那种是滑出来的时候主页面变灰了,滑出来的时候点击主页面的时候不会有其他事件响应,只是菜单滑回去,我想的是主页面那个布局添加一个点击事件判断是否滑出,如果是滑出状态就菜单滑回去,text.setClickable(false)这种方法设置一次就一直不能点击了,除非再设置成true,这种思路好像实现有点问题。QQ的那种应该是在滑出的时候主页上面覆盖了一个灰色的透明界面,不清楚怎么实现的
寒冰大神 2017-07-03
  • 打赏
  • 举报
回复
text.setClickable(false); text点击不响应
syblackZoro 2017-07-03
  • 打赏
  • 举报
回复
引用 4 楼 xj396282771 的回复:
嵌套有其他布局也没啥影响啊,其他布局你应该没设置点击事件撒
有listview,有点击事件
Jing丶無雙 2017-07-03
  • 打赏
  • 举报
回复
嵌套有其他布局也没啥影响啊,其他布局你应该没设置点击事件撒

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧