我想在单击禁用按钮时显示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侦听器吗?
答案 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)
您可以为按钮创建两个可绘制的背景,而不是禁用按钮。 一个用于启用状态,另一个用于已禁用状态。 保持标记以跟踪按钮状态,同时更改状态值可更改文本颜色(如果需要),按钮背景分别对应标记状态并向用户显示祝酒。