如何在 android 中使用 IconSwitch 库添加自定义开关?
在本文中,我们将学习如何在我们的项目中添加自定义开关。众所周知,开关只有开和关两种状态。在自定义开关中,我们添加了可用于不同目的的图标,具体取决于我们的要求。借助这个库IconSwitch ,我们可以轻松地添加自定义开关,并在用户更改状态时自动动画。
方法:
- 在build.gradle文件中添加支持库,并在依赖项部分添加依赖项。借助它,我们可以直接在布局中使用小部件。
dependencies { implementation 'com.polyak:icon-switch:1.0.0' }
- 在 activity_main.xml 文件中添加以下代码。在这里,我们在布局中添加自定义开关。在app:isw_icon_left和app: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; } } }); } }
- 现在在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; } } }); } }
输出: