2016-12-27 68 views
2

我想在点击禁用按钮时显示Toast消息。如何在Android中单击禁用按钮时显示消息?

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监听器吗?

+1

点击将不适合残疾人按钮工作。 –

+0

谢谢:) @KetanAhir。你能告诉我一些示例代码吗? –

+0

可能重复的[Android的 - 听取一个禁用的按钮](http://stackoverflow.com/questions/9016015/android-listen-to-a-disabled-button) – Spartan

回答

2

您不能单击禁用button.Try这样做,

// 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> 
+0

不,它没有工作。它没有显示任何消息 –

+2

上面的代码是正确的确保你的按钮没有被禁用(在xml中检查并在你的课堂文件中)。它为我工作。 –

+0

是的,这是工作,但我想利用SET按钮被按下所有的按钮应该被禁用,不执行任何功能 –

-1

除了禁用按钮,您可以为按钮创建两个可绘制背景。 一个用于启用状态另一个用于禁用状态。 保持标记跟踪按钮状态,同时更改状态值更改您的文本颜色(如果您需要),按钮背景各自标志状态并显示您的敬酒给用户。

+0

如何做到这一点? –

+0

不完全是因为你setEnable(false)'button停止接收点击事件后 –

0

您可以porgromatically按钮设置APLHA: 按钮。 。的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(); 
     } 
    }); 
2

如果你要做一个按钮2个比动作用这个,因为我是残疾人的按钮,并启用,只有当它设置按钮被点击

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; 
      } 

     } 
    }); 
相关问题