Night-Mode-Button
Night Mode Button Library for Android
Easy to use night mode button with cool day night animation.
Installation
-
Gradle
Add it in your root build.gradle at the end of repositories:
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
Add the dependency in your app build.gradle
dependencies { implementation 'com.github.shrikanth7698:Night-Mode-Button:V1.0' }
-
Maven
Add the JitPack repository to your build file
<repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories>
Add the dependency
<dependency> <groupId>com.github.shrikanth7698</groupId> <artifactId>Night-Mode-Button</artifactId> <version>V1.0</version> </dependency>
Usage
Drop the Night Mode Button in your XML layout as is shown below:
<com.shrikanthravi.library.NightModeButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:id="@+id/nightModeButton"
android:layout_centerVertical="true"/>
And then in your Activity or fragment
//Inside onCreate()
NightModeButton nightModeButton;
RelativeLayout relativeLayout;
relativeLayout = findViewById(R.id.rootLayout);
nightModeButton = findViewById(R.id.nightModeButton);
final int colorFrom = getResources().getColor(R.color.white);
final int colorTo = getResources().getColor(R.color.dark);
nightModeButton.setOnSwitchListener(new NightModeButton.OnSwitchListener() {
@Override
public void onSwitchListener(boolean isNight) {
if(isNight){
//Function to change color
animateBackground(colorFrom,colorTo);
animateStatusActionBar(getResources().getColor(R.color.colorPrimary),colorTo);
Toast.makeText(getApplicationContext(),"Night Mode On",Toast.LENGTH_SHORT).show();
}else {
animateBackground(colorTo,colorFrom);
animateStatusActionBar(colorTo,getResources().getColor(R.color.colorPrimary));
Toast.makeText(getApplicationContext(),"Night Mode Off",Toast.LENGTH_SHORT).show();
}
}
});
TODO
- Color Customization
- Animation Speed
- Add Confetti effect