Sunday, 14 September 2025

Just Tap to Change Color!

Here we will learn the easiest and shortest way to change color of a simple app with just a tap.

     

XML layout:

In the TextView, change the text 'Hello World!' to 'Just Tap', increase its size and make it bold:

android:text="JUST TAP!"
android:textSize="45sp"
android:textStyle="bold"
android:textColor="#ffff00"

Now our activity_main.xml has only this much code. We already have the id set to the Constraint Layout which is android:id="@+id/main"

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="JUST TAP!"
android:textSize="45sp"
android:textStyle="bold"
android:textColor="#ffff00"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Now in the MainActivity.java, use the above mentioned id to set a new color:

private ConstraintLayout mainLayout;

Create an array of various colors that we want to appear randomly when we touch the screen:

private int colors[] = {Color.BLUE, Color.BLACK, Color.CYAN, Color.DKGRAY, Color.WHITE, Color.GREEN,
Color.YELLOW, Color.TRANSPARENT, Color.MAGENTA, Color.RED, Color.LTGRAY, Color.GRAY};

Create a Random object to get a random color:

private Random random = new Random();

In the OnCreate method, assign the value to mainLayout:

mainLayout = findViewById(R.id.main);

Finally override the OnUserInteraction method and change the background in this way:

mainLayout.setBackgroundColor(colors[random.nextInt(colors.length - 1)]);

So the full and complete code of MainActivity.java will be:

package com.prashantsj.apps.colorchanger;

import android.graphics.Color;
import android.os.Bundle;
import android.widget.Button;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.constraintlayout.widget.ConstraintLayout;

import java.util.Random;

public class MainActivity extends AppCompatActivity {

private ConstraintLayout mainLayout;
private int colors[] = {Color.BLUE, Color.BLACK, Color.CYAN, Color.DKGRAY, Color.WHITE, Color.GREEN,
Color.YELLOW, Color.TRANSPARENT, Color.MAGENTA, Color.RED, Color.LTGRAY, Color.GRAY};
private Random random = new Random();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
mainLayout = findViewById(R.id.main);
}

@Override
public void onUserInteraction() {
super.onUserInteraction();

mainLayout.setBackgroundColor(colors[random.nextInt(colors.length - 1)]);
}
}




Monday, 28 July 2025

How to Blink a Text

 Blinking a text in Android is very simple and needs very less code. Let's see how to make it!

 


In the activity_main.xml file you have to edit the android:text and add just these two lines under TextView tag:

android:id="@+id/textView"
android:textSize="40sp"
android:text="I AM BLINKING!"

So after making the changes, the activity_main.xml file will have these things:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:textSize="40sp"
android:text="I AM BLINKING!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>


Now inside the MainActivity.java, below the setContentView method, just paste this code and you are done:

TextView blinkingText = findViewById(R.id.textView);
Animation blinkAnimation = new AlphaAnimation(0.0f, 1.0f);
blinkAnimation.setDuration(1000); // duration
blinkAnimation.setStartOffset(20);
blinkAnimation.setRepeatMode(Animation.REVERSE);
blinkAnimation.setRepeatCount(Animation.INFINITE);

Understand the code:

TextView blinkingText = findViewById(R.id.textView);

→ Retrieves the TextView with ID textView from the layout and stores it in blinkingText.


Animation blinkAnimation = new AlphaAnimation(0.0f, 1.0f);

→ Creates an alpha animation that changes the opacity from fully transparent to fully opaque.


blinkAnimation.setDuration(1000);

→ Sets the duration of one animation cycle to 1000 milliseconds (1 second).


blinkAnimation.setStartOffset(20);

→ Adds a 20-millisecond delay before the animation starts.


blinkAnimation.setRepeatMode(Animation.REVERSE);

→ Makes the animation reverse back to the start after reaching the end.


blinkAnimation.setRepeatCount(Animation.INFINITE);

→ Repeats the animation endlessly.


Finally the MainActivity.java will have this complete code:

package com.prashantsj.apps.blink;

import android.os.Bundle;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.TextView;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);

TextView blinkingText = findViewById(R.id.textView);
Animation blinkAnimation = new AlphaAnimation(0.0f, 1.0f);
blinkAnimation.setDuration(1000); // duration
blinkAnimation.setStartOffset(20);
blinkAnimation.setRepeatMode(Animation.REVERSE);
blinkAnimation.setRepeatCount(Animation.INFINITE);

blinkingText.startAnimation(blinkAnimation);

ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
}
}


Wednesday, 16 July 2025

How to download and install the Android Studio Narwhal

 We know that Android Studio has launched its new version which is Narwhal. So let's download it step by step.



1. At first type "download android studio" in Google search and hit Enter.


2. Then in the search result, select the first one as shown in the image.



3. This will take you to the official website of Android Studio. Here click on the "Download Android Studio Narwhal" button. It will show a pop-up of Terms & Conditions.



4. Read and tick the checkbox which says "I have read and agree with the above terms and conditions". Finally click the Download Android Studio for Windows button. 



5. Save the .exe file where ever you want. It will take time to download as per you internet speed.



6. Once the download is over, open the .exe file. You can open it directly by clicking on the Chrome's download history.



7. Now you will see a installer window. Just keep selecting the Next option every time which is the Recommended setting by Android.



8. You can set the path that you want by clicking the Browse option. If you are fine with the default one, then hit Next.



9. The progressive bar shows that the installation has started and once it will over, it will stop.

 



10. Now click the Next option again to complete the process.



11. Click the Finish button to finish the total installation. Selecting the checkbox Start Android Studio will start the Android Studio right away.



12. Congratulations! Android Studio installed and it is opening!