如何在android中单击禁用按钮时显示消息?

时间:2016-12-27 09:58:57

标签: android button android-toast

我想在单击禁用按钮时显示Toast消息。

   button.setEnable(false);                                                                                

       button.setOnClickListener(new View.OnClickListener()
    {
            @Override
            public void onClick (View v)
            {


                Toast.makeText(SliderDemo.this, "Button Disabled",Toast.LENGTH_LONG).show();        }}

我们可以在同一个按钮上同时使用Touch侦听器和Click侦听器吗?

4 个答案:

答案 0 :(得分:4)

您无法点击已停用的按钮。请尝试执行此操作,

// if you want to show it as disabled simply change the button background and text color
    button.setActivated(false); 
    button.setBackgroundColor(ContextCompat.getColor(getContext(),R.color.disabled_background_color));
    button.setTextColor(ContextCompat.getColor(getContext(),R.color.disabled_text_color));
    button.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick (View v){
            if(!button.isActivated()){
            Toast.makeText(SliderDemo.this, "Button Disabled",Toast.LENGTH_LONG).show();
            return; 
          }
         //else do your stuff
     }

在color.xml中添加以下行

<color name="disabled_background_color">#10181818</color>
<color name="disabled_text_color">#aaa</color>

答案 1 :(得分:2)

如果您必须对某个按钮执行2个操作而不是使用此操作,因为我已禁用该按钮并仅在单击SET按钮时启用

  button.setOnTouchListener(new View.OnTouchListener()
    {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent)
        {
            Log.i("Touch eventssssss","Inside onTouch");
            if(button.isActivated())
            {
                Toast.makeText(SliderDemo.this, "Your Message On Disabled Button ", Toast.LENGTH_SHORT).show();
                return true;
            }
            else
            {
                Intent intent = new Intent(MainActivity.this,NextActivity.class);
                startActivity(intent);
                return true;
            }

        }
    });

答案 2 :(得分:0)

您可以为按钮设置aplha: button.getBackground()setAlpha(128)。 // 50%透明度.Alpha范围从0(完全透明)到255(完全不透明)。

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
             Toast.makeText(SliderDemo.this, "Button Disabled",Toast.LENGTH_LONG).show();
        }
    });

答案 3 :(得分:-1)

您可以为按钮创建两个可绘制的背景,而不是禁用按钮。 一个用于启用状态,另一个用于已禁用状态。 保持标记以跟踪按钮状态,同时更改状态值可更改文本颜色(如果需要),按钮背景分别对应标记状态并向用户显示祝酒。