📜  如何在 android 中使用 IconSwitch 库添加自定义开关?

📅  最后修改于: 2022-05-13 01:54:50.044000             🧑  作者: Mango

如何在 android 中使用 IconSwitch 库添加自定义开关?

在本文中,我们将学习如何在我们的项目中添加自定义开关。众所周知,开关只有开和关两种状态。在自定义开关中,我们添加了可用于不同目的的图标,具体取决于我们的要求。借助这个库IconSwitch ,我们可以轻松地添加自定义开关,并在用户更改状态时自动动画。

方法:

  1. build.gradle文件中添加支持库,并在依赖项部分添加依赖项。借助它,我们可以直接在布局中使用小部件。
    dependencies {         
          implementation 'com.polyak:icon-switch:1.0.0'      
    }         
    
  2. 在 activity_main.xml 文件中添加以下代码。在这里,我们在布局中添加自定义开关。在app:isw_icon_leftapp:isw_icon_right中,我们分别为左右开关添加了可绘制的图标。
    activity_main.xml
    
    
      
        
      
    


    MainActivity.java
    package org.geeksforgeeks.gfgCustomSwitch;
      
    import android.os.Bundle;
    import android.widget.Toast;
    import androidx.appcompat.app.AppCompatActivity;
    import com.polyak.iconswitch.IconSwitch;
      
    public class MainActivity extends AppCompatActivity {
      
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity);
      
            IconSwitch iconSwitch = findViewById(R.id.icon_switch);
            iconSwitch.setCheckedChangeListener(
                new IconSwitch.CheckedChangeListener() {
                    @Override
                    public void onCheckChanged(IconSwitch.Checked current)
                    {
                        switch (current) {
      
                        case LEFT:
                            Toast.makeText(MainActivity.this,
                                           "Algorithms", Toast.LENGTH_SHORT)
                                .show();
                            break;
      
                        case RIGHT:
                            Toast.makeText(MainActivity.this,
                                           "Courses", Toast.LENGTH_SHORT)
                                .show();
                            break;
                        }
                    }
                });
        }
    }


  3. 现在在MainActivity 中添加以下代码。 Java文件。在这里,我们在我们的开关上添加setCheckChangedListener ,如果开关改变,它将被调用。如果左开关打开,则执行LEFT案例,如果打开右开关,则执行案例RIGHT

    主要活动。Java

    package org.geeksforgeeks.gfgCustomSwitch;
      
    import android.os.Bundle;
    import android.widget.Toast;
    import androidx.appcompat.app.AppCompatActivity;
    import com.polyak.iconswitch.IconSwitch;
      
    public class MainActivity extends AppCompatActivity {
      
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity);
      
            IconSwitch iconSwitch = findViewById(R.id.icon_switch);
            iconSwitch.setCheckedChangeListener(
                new IconSwitch.CheckedChangeListener() {
                    @Override
                    public void onCheckChanged(IconSwitch.Checked current)
                    {
                        switch (current) {
      
                        case LEFT:
                            Toast.makeText(MainActivity.this,
                                           "Algorithms", Toast.LENGTH_SHORT)
                                .show();
                            break;
      
                        case RIGHT:
                            Toast.makeText(MainActivity.this,
                                           "Courses", Toast.LENGTH_SHORT)
                                .show();
                            break;
                        }
                    }
                });
        }
    }
    

输出: