android: onClickListener for relativelayout

标签 android android-relativelayout onclicklistener

我有一个 relativelayout 并编写了 onTouchListener 以突出显示背景,如下所示:

    relative3.setOnTouchListener(new OnTouchListener() 
    {
        @Override
        public boolean onTouch(View arg0, MotionEvent event) 
        {
            if(event.getAction()==MotionEvent.ACTION_DOWN )
            {
                relative3.setBackgroundColor(getResources().getColor(R.color.tran_grey));
            }

            if((event.getAction()==MotionEvent.ACTION_UP || event.getAction()==MotionEvent.ACTION_CANCEL))
            {
                relative3.setBackgroundColor(getResources().getColor(android.R.color.transparent));
            }
            return true;
        }           
    }); 

并在 onClick 上执行操作

    relative3.setOnClickListener(new View.OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            custom_toast("Redirecting...");
        }
    }); 

问题:

相关布局可以在 ACTION_DOWN 时显示突出显示并在 ACTION_UP 时变回透明。然而它被点击,toast 根本没有按编码显示。

如何修改?谢谢!

最佳答案

确保布局具有属性 android:clickable="true"

更改颜色的正确方法是使用具有按下和正常状态的背景可绘制 xml。如果您在代码中执行此操作,请使用 getActionMasked() 而不是 getAction()

关于android: onClickListener for relativelayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20788339/

相关文章:

java - startactivity() 关闭应用程序

android - 如何在 android 中的一个布局上显示一半按钮,在另一个布局上显示一半按钮?

android - 相对布局 : Sharing screens height

android - 如何用空字符串消除 textview 的边距?

java - 如何将 onClickLIstener 添加到我的代码中以执行我已经实现的方法

java - onClickListener() 不适用于 FloatingActionButton 和工具栏图标

java - SQL 查询中的常量

android - 在android中为对话框窗口添加边框

android - 如何将 OnClickListener 添加到 CardView?

android - 我可以在没有谷歌服务的设备上使用谷歌Firestore吗?