android.widget.Switch - on/off event listener?

前端 未结 11 1524
庸人自扰
庸人自扰 2020-12-02 04:56

I would like to implement a switch button, android.widget.Switch (available from API v.14).



        
11条回答
  •  一向
    一向 (楼主)
    2020-12-02 05:33

    there are two ways,

    1. using xml onclick view Add Switch in XML as below:

      
      

    In YourActivity Class (For E.g MainActivity.java)

        Switch toggle; //outside oncreate
        toggle =(Switch) findViewById(R.id.switch1); // inside oncreate
    
        public void toggle(View view) //outside oncreate
        {
            if( toggle.isChecked() ){
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    start.setBackgroundColor(getColor(R.color.gold));
                    stop.setBackgroundColor(getColor(R.color.white));
                }
            }
            else
            {
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    stop.setBackgroundColor(getColor(R.color.gold));
                    start.setBackgroundColor(getColor(R.color.white));
                }
            }
        }
    
    1. using on click listener

    Add Switch in XML as below:

    In YourActivity Class (For E.g MainActivity.java)

        Switch toggle; // outside oncreate
        toggle =(Switch) findViewById(R.id.switch1);  // inside oncreate
    
    
        toggle.setOnClickListener(new View.OnClickListener() {   // inside oncreate
            @Override
            public void onClick(View view) {
    
                if( toggle.isChecked() ){
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                        start.setBackgroundColor(getColor(R.color.gold));
                    }
                }
                else
                {
                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                        stop.setBackgroundColor(getColor(R.color.gold));
                    }
                }
    
            }
    
        });
    

提交回复
热议问题