0% found this document useful (0 votes)
46 views39 pages

Android Programs

Uploaded by

lakshmana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views39 pages

Android Programs

Uploaded by

lakshmana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 39

Android App Programs

1: print Hello World app using Linear layout


2: create a app using image and TextView
3: A)create a app using button click display text message
B)create a app using button click display toast text message
4: Adding 2 numbers using TextView and EditText,button
5:create a app using Timer Example
6: create a button and image using relative layout
7: create a app to check username and password is correct or not
8: create a app using toogle button using constraint layout
9:creata a app using rediobutton,rediogroup
10:create a app using imageView click display text message
11:create a app using ListView
12:creat apps uisng SCROLL VIEW
12.a) HorizontalScrollView in Kotlin
12.b) Dynamic ScrollView in Kotlin
12.c) DynamicHorizontal ScrollView in Kotlin
13: create a app to zooming android screen
14: create a app using time picker
15: create a app using Date picker
16: creat a app using TextClock picker
17: create a app using switch
Example 1: print Hello World app using Linear layout
MainActivity.kt

import android.os.Bundle
import androidx.activity.ComponentActivity
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main);

}
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="ExtraText">
tools:context=".MainActivity">

<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textColor="@color/teal_200"
android:textStyle="italic"
android:textAllCaps="true"

android:layout_gravity="center"

android:textSize="20dp"
android:layout_gravity="fill_vertical"
android:layout_marginTop="20dp"
/>
Example 1.B
string.xml

<resources>
<string name="app_name">My Application12</string>
<string name="hello">Hello, World!</string>
</resources>

MainActivity.kt

import android.os.Bundle
import androidx.activity.ComponentActivity

class MainActivity : ComponentActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main);

}
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="ExtraText">
tools:context=".MainActivity">

<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textColor="@color/teal_200"
android:textStyle="italic"

android:layout_gravity="center"

android:textAllCaps="true"
android:textSize="20dp"
android:layout_gravity="fill_vertical"
android:layout_marginTop="20dp"
/>

1.C using multiple TextViews

import android.os.Bundle
import androidx.activity.ComponentActivity

class MainActivity : ComponentActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main);

}
}

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="ExtraText">
tools:context=".MainActivity">

<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="lakshman"
android:textColor="@color/teal_200"
android:textStyle="italic"
android:textAllCaps="true"

android:layout_gravity="center"
android:textSize="20dp"
android:layout_gravity="fill_vertical"
android:layout_marginTop="20dp"
/>

<TextView android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hellooooooo"
android:textColor="@color/purple_200"
android:textStyle="italic"
android:textAllCaps="true"
android:textSize="20dp"
android:layout_gravity="right"
android:layout_marginTop="30dp"
/>

<TextView android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hai"
android:textColor="@color/teal_700"
android:textStyle="italic"

android:layout_gravity="center"

android:textAllCaps="true"
android:textSize="20dp"
android:layout_gravity="center"
android:layout_marginTop="45dp"
/>

1.4 EditText

<EditText
android:id="@+id/editTextText"
android:layout_width="158dp"
android:layout_height="55dp"
android:ems="10"

android:layout_gravity="center"
android:inputType="text"
android:text="Lakshmana Rao" />
Example 2: IMAGE
Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:ignore="ExtraText">
tools:context=".MainActivity">

<ImageView
android:id="@+id/imageView2"
android:layout_height="200dp"

android:src="@drawable/abc" android:layout_width="200dp"/>

<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:gravity="fill_vertical"
android:text="this is parrot"
android:textAllCaps="true"
android:textColor="@color/teal_200"
android:textSize="20dp"
android:textStyle="italic" />

</LinearLayout>
MainActivity.kt

import android.os.Bundle
import androidx.activity.ComponentActivity
import android.util.Log;

class MainActivity : ComponentActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main);

}
}

Example 3:

3.1 button example

Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:ignore="ExtraText">
tools:context=".MainActivity">

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click Me"
android:textStyle="bold"
android:layout_centerInParent="true"/>

<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:layout_below="@id/button"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"/>

</LinearLayout>

MainActivity.xml

import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import com.example.firstapp.ui.theme.FirstAppTheme

class MainActivity : ComponentActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val button: Button = findViewById(R.id.button)
val textView: TextView = findViewById(R.id.text)

// Set a click listener on the button


button.setOnClickListener {
// Change the text of the TextView when the button is clicked
textView.text = "Button Clicked!"

}
}
}

3.2 button click Toast message


package com.example.yourapp; // Change to your package name

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // Ensure this matches your layout file name

Button buttonClickMe = findViewById(R.id.buttonClickMe);

buttonClickMe.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Display a Toast message
Toast.makeText(MainActivity.this, "Button Clicked!", Toast.LENGTH_SHORT).show();
}
});
}
}

Example 4: button using TextView


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">

<EditText
android:id="@+id/number1"
android:layout_width=" wrap_content "
android:layout_height="wrap_content"
android:hint="Enter first number"
android:textSize="24dp"
android:inputType="number" />

<EditText
android:id="@+id/number2"
android:layout_width=" wrap_content "
android:layout_height="wrap_content"
android:hint="Enter second number"
android:inputType="number"
android:textSize="24dp"
android:layout_marginTop="16dp" />

<Button
android:id="@+id/addButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add"
android:layout_marginTop="16dp" />

<TextView
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Result will be shown here"
android:textSize="24dp"
android:layout_marginTop="16dp" />
</LinearLayout>

MainActivity.kt
import android.os.Bundle
import androidx.activity.ComponentActivity
import android.widget.Button
import android.widget.TextView
import android.widget.EditText

class MainActivity : ComponentActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// Get references to the UI elements


val number1EditText: EditText = findViewById(R.id.number1)
val number2EditText: EditText = findViewById(R.id.number2)
val addButton: Button = findViewById(R.id.addButton)
val resultTextView: TextView = findViewById(R.id.result)

// Set an onClickListener on the button


addButton.setOnClickListener {
// Get the input numbers
val number1 = number1EditText.text.toString().toDoubleOrNull()
val number2 = number2EditText.text.toString().toDoubleOrNull()

if (number1 != null && number2 != null) {


// Calculate the sum
val sum = number1 + number2
// Display the result
resultTextView.text = "Result: $sum"
} else {
// Display an error message if input is invalid
resultTextView.text = "Please enter valid numbers"
}
}
}

example 5: Timer Example


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:gravity="center"
android:padding="16dp"
tools:context=".MainActivity">

<TextView
android:id="@+id/textViewScore"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Score: 0"
android:textSize="24sp" />

<Button
android:id="@+id/buttonTap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tap Me!"
android:textSize="24sp"
android:layout_marginTop="20dp" />

<TextView
android:id="@+id/textViewTimer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Time Left: 10"
android:textSize="24sp"
android:layout_marginTop="20dp" />

</LinearLayout>
package com.example.myapplication1

import android.os.Bundle
import android.os.CountDownTimer
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

private lateinit var textViewScore: TextView


private lateinit var textViewTimer: TextView
private lateinit var buttonTap: Button
private var score = 0
private var gameStarted = false

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

textViewScore = findViewById(R.id.textViewScore)
textViewTimer = findViewById(R.id.textViewTimer)
buttonTap = findViewById(R.id.buttonTap)

buttonTap.setOnClickListener {
if (!gameStarted) {
startGame()
} else {
score++
textViewScore.text = "Score: $score"
}
}
}

private fun startGame() {


score = 0
textViewScore.text = "Score: $score"
gameStarted = true

object : CountDownTimer(50000, 1000) {


override fun onTick(millisUntilFinished: Long) {
textViewTimer.text = "Time Left: ${millisUntilFinished / 1000}"
}

override fun onFinish() {


gameStarted = false
textViewTimer.text = "Time's Up!"
buttonTap.isEnabled = false
}
}.start()

buttonTap.isEnabled = true
}
}

example 6: RelativeLayout

6.1 using Button and image

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">

<TextView
android:id="@+id/textViewTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:text="Welcome to My App"
android:textSize="24sp" />

<ImageView
android:id="@+id/imageView"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/aa123"
android:layout_below="@id/textViewTitle"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp" />

<Button
android:id="@+id/buttonStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/imageView"
android:layout_centerHorizontal="true"
android:text="Start" />
</RelativeLayout>

MainActivity.kt

import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.ImageView
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

private lateinit var textViewTitle: TextView


private lateinit var imageView: ImageView
private lateinit var buttonStart: Button

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) // Ensure this matches your layout file name

textViewTitle = findViewById(R.id.textViewTitle)
imageView = findViewById(R.id.imageView)
buttonStart = findViewById(R.id.buttonStart)

buttonStart.setOnClickListener {
// Handle button click
textViewTitle.text = "Button Clicked!"
imageView.setImageResource(R.drawable.ect) // Change image if needed
}
}

example 6.2: username and password checking

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<TextView
android:id="@+id/titleTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:textSize="24sp"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"/>

<EditText
android:id="@+id/usernameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Username"
android:layout_below="@id/titleTextView"
android:layout_marginTop="24dp"
android:padding="12dp"/>

<EditText
android:id="@+id/passwordEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Password"
android:layout_below="@id/usernameEditText"
android:layout_marginTop="16dp"
android:padding="12dp"
android:inputType="textPassword"/>

<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"
android:layout_below="@id/passwordEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"/>

</RelativeLayout>

MainActivity.kt
package com.example.myapplication1

import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

// Hardcoded credentials for demonstration


private val validUsername = "user123"
private val validPassword = "pass123"

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)

val usernameEditText = findViewById<EditText>(R.id.usernameEditText)


val passwordEditText = findViewById<EditText>(R.id.passwordEditText)
val loginButton = findViewById<Button>(R.id.loginButton)

loginButton.setOnClickListener {
val username = usernameEditText.text.toString()
val password = passwordEditText.text.toString()

if (username == validUsername && password == validPassword) {


Toast.makeText(this, "Login Successful", Toast.LENGTH_SHORT).show()
// Proceed to the next activity or perform some action
} else {
Toast.makeText(this, "Invalid username or password", Toast.LENGTH_SHORT).show()
}
}
}
}

Step 3: Update AndroidManifest.xml

Make sure to register your LoginActivity in the AndroidManifest.xml file:


<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

Example 7: ConstraintLayout in Android


7.1 ToggleButton in Kotlin
Activity_main.xml
<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

Add dependencies to build.gradle.ks

implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.appcompat)

MainActivity.kt

package com.example.togglebuttonsample
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import android.widget.ToggleButton

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val toggle: ToggleButton = findViewById(R.id.toggleButton)


toggle.setOnCheckedChangeListener { _, isChecked ->
Toast.makeText(this, if(isChecked) "Geek Mode ON" else "Geek Mode OFF",
Toast.LENGTH_SHORT).show()
}
}
}
7.2 Kotlin Android Toast Example

activity_main.xml
ADVERTISEMENT

<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="Click to display toast"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout >

MainActivity.kt
import android.os.Bundle
import androidx.activity.ComponentActivity
import android.widget.Button
import android.widget.TextView
import android.widget.EditText
import android.widget.Toast

class MainActivity : ComponentActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val showToastButton = findViewById<Button>(R.id.button) // Assuming your button has this id

showToastButton.setOnClickListener {
val toast = Toast.makeText(this, "This is a Toast message!", Toast.LENGTH_SHORT)
toast.show()

}
}
}

Example 8:
Radio Button: using radio group
1:Activity_main.xml

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:text="BlueCrest survey"
android:textAlignment="center"
android:textColor="@android:color/holo_green_dark"
android:textSize="32sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/radioGroup"
android:text="Who is the best player in the world?"
android:textAlignment="center"
android:textColor="@android:color/background_dark"
android:textSize="24sp"
android:textStyle="bold|italic" />
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true">
<RadioButton
android:id="@+id/radioBtn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="Lionel Messi" />
<RadioButton
android:id="@+id/radioBtn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cristiano Ronaldo" />
</RadioGroup>
<Button
android:id="@+id/btnDisplay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/radioGroup"
android:layout_centerInParent="true"
android:text="Display" />
</RelativeLayout>

Mainactivity.xml

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.*
import android.widget.RadioGroup
class MainActivity : AppCompatActivity() {
var radioGroup: RadioGroup? = null
lateinit var radioButton: RadioButton
private lateinit var button: Button
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "KotlinApp"
radioGroup = findViewById(R.id.radioGroup)
button = findViewById(R.id.btnDisplay)
button.setOnClickListener {
val intSelectButton: Int = radioGroup!!.checkedRadioButtonId
radioButton = findViewById(intSelectButton)
Toast.makeText(baseContext, radioButton.text, Toast.LENGTH_SHORT).show()
}
}
}

8.2 Radio Button: using radio group


<?xml version="1.0" encoding="utf-8" ?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/idRLContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">

<!--on below line we are creating


a text for our app-->
<TextView
android:id="@+id/idTVHeading"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/idTVStatus"
android:layout_centerInParent="true"
android:layout_margin="20dp"
android:gravity="center"
android:padding="10dp"
android:text="Radio Button in Android"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold" />

<!--on below line we are creating a text view-->


<TextView
android:id="@+id/idTVStatus"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/idRadioGroup"
android:layout_centerInParent="true"
android:layout_margin="20dp"
android:gravity="center"
android:padding="10dp"
android:text="Status"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold" />

<!--on below line we are creating a radio group-->


<RadioGroup
android:id="@+id/idRadioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center">

<!--on below line we are creating a radio buttons-->


<RadioButton
android:id="@+id/idBtnJavaRadio"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:padding="4dp"
android:text="Java"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="20sp" />

<RadioButton
android:id="@+id/idBtnKotlinRadio"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:padding="4dp"
android:text="Kotlin"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="20sp" />

<RadioButton
android:id="@+id/idBtnFlutterRadio"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:padding="4dp"
android:text="Flutter"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="20sp" />
</RadioGroup>

</RelativeLayout>

MainActivity.xml
import android.os.Bundle
import android.widget.RadioButton
import android.widget.RadioGroup
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

// on below line we are creating a variable.


lateinit var radioGrp: RadioGroup
lateinit var statusTV: TextView

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// on below line we are initializing our variables.


radioGrp = findViewById(R.id.idRadioGroup)
statusTV = findViewById(R.id.idTVStatus)

radioGrp.setOnCheckedChangeListener { group, checkedId ->


// Get the selected Radio Button
val radioButton = group
.findViewById(checkedId) as RadioButton

// on below line we are setting


// text for our status text view.
statusTV.text = radioButton.text
}
}
}

9. image View

<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ImageView
android:id="@+id/GfG_full_logo"
android:layout_width="200dp"
android:layout_height="200dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.078"
app:srcCompat="@drawable/ect" />

<ImageView
android:id="@+id/GfG_logo"
android:layout_width="200dp"
android:layout_height="200dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/GfG_full_logo"
app:srcCompat="@drawable/java" />
</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.kt
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

}
}

10.ListView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/userlist"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
MainActivity.kt
When we have created layout, we need to load the XML layout resource from our
activity onCreate() callback method and access the UI element form the XML using findViewById.
MainActivity.kt

import android.widget.ArrayAdapter
import android.widget.ListView
class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

// use arrayadapter and define an array


val arrayAdapter: ArrayAdapter<*>
val users = arrayOf(
"Virat Kohli", "Rohit Sharma", "Steve Smith",
"Kane Williamson", "Ross Taylor"
)

// access the listView from xml file


var mListView = findViewById<ListView>(R.id.userlist)
arrayAdapter = ArrayAdapter(this,
android.R.layout.simple_list_item_1, users)
mListView.adapter = arrayAdapter
}
}

11. SCROLL VIEW


11.1) HorizontalScrollView in Kotlin
11. 2) Dynamic ScrollView in Kotlin
11.3) DynamicHorizontal ScrollView in Kotlin

11.1) HorizontalScrollView in Kotlin


<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginTop="20dp"
android:orientation="horizontal">

<ImageView
android:id="@+id/image1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginRight="20dp"
android:src="@drawable/java"/>

<ImageView
android:id="@+id/image2"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginRight="20dp"
android:src="@drawable/java"/>

<ImageView
android:id="@+id/image3"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginRight="20dp"
android:src="@drawable/java"/>

<ImageView
android:id="@+id/image4"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginRight="20dp"
android:src="@drawable/java"/>

</LinearLayout>
</HorizontalScrollView>

MainActivity.kt
package com.example.myapplication100

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.widget.ArrayAdapter
import android.widget.ListView

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}

11.1.2
<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginTop="20dp"
android:orientation="horizontal">

<ImageView
android:id="@+id/image1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginRight="20dp"
android:src="@drawable/java"/>

<ImageView
android:id="@+id/image2"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginRight="20dp"
android:src="@drawable/java"/>

<ImageView
android:id="@+id/image3"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginRight="20dp"
android:src="@drawable/java"/>

<ImageView
android:id="@+id/image4"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginRight="20dp"
android:src="@drawable/java"/>

</LinearLayout>
</HorizontalScrollView>

MainActivity.kt
package com.example.myapplication100

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.widget.ArrayAdapter
import android.widget.ListView

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}

11.2) Dynamic ScrollView in Kotlin


<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:layout_width="match_parent"
android:layout_height="match_parent">

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout android:id="@+id/image_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

</LinearLayout>

</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
Main.Kt
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.widget.ArrayAdapter
import android.widget.LinearLayout
import android.widget.ImageView
import android.widget.ListView

class MainActivity : AppCompatActivity() {

private lateinit var imageContainer: LinearLayout

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

imageContainer = findViewById(R.id.image_container)

// Replace with your image resource IDs or URLs


val imageResources = listOf(R.drawable.ect, R.drawable.java, R.drawable.ect,
R.drawable.java,R.drawable.ect, R.drawable.java)

// Loop through resources and add ImageViews dynamically


for (resourceId in imageResources) {
val imageView = ImageView(this)
imageView.setImageResource(resourceId) // Set image resource
imageView.scaleType = ImageView.ScaleType.CENTER_CROP // Optional: Adjust image scaling

imageContainer.addView(imageView)
}
}
}

11.3 ) DynamicHorizontal ScrollView in Kotlin


Activity_main.xml
<?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:layout_width="match_parent"
android:layout_height="match_parent">
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout android:id="@+id/image_container"
android:layout_width="wrap_content" android:layout_height="match_parent"
android:orientation="horizontal">

</LinearLayout>

</HorizontalScrollView>

</androidx.constraintlayout.widget.ConstraintLayout>

Mainactivity.kt

package com.example.myapplication100

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.widget.ArrayAdapter
import android.widget.LinearLayout
import android.widget.ImageView
import android.widget.ListView

class MainActivity : AppCompatActivity() {

private lateinit var imageContainer: LinearLayout

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

imageContainer = findViewById(R.id.image_container)

// Replace with your image resource IDs or URLs


val imageResources = listOf(R.drawable.ect, R.drawable.java, R.drawable.ect)
// Loop through resources and add ImageViews dynamically
for (resourceId in imageResources) {
val imageView = ImageView(this)
imageView.setImageResource(resourceId) // Set image resource
imageView.scaleType = ImageView.ScaleType.CENTER_CROP // Optional: Adjust image scaling

imageContainer.addView(imageView)
}
}
}

12. Zooming Android Screen

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/java" />

</RelativeLayout>

import android.os.Bundle
import android.view.ScaleGestureDetector
import android.view.MotionEvent
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

private lateinit var imageView: ImageView


private lateinit var scaleGestureDetector: ScaleGestureDetector
private var scaleFactor = 1.0f

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

imageView = findViewById(R.id.imageView)
scaleGestureDetector = ScaleGestureDetector(this, ScaleListener())
}

override fun onTouchEvent(event: MotionEvent): Boolean {


scaleGestureDetector.onTouchEvent(event)
return true
}

private inner class ScaleListener :


ScaleGestureDetector.SimpleOnScaleGestureListener() {
override fun onScale(detector: ScaleGestureDetector): Boolean {
scaleFactor *= detector.scaleFactor
scaleFactor = Math.max(0.1f, Math.min(scaleFactor, 5.0f))
imageView.scaleX = scaleFactor
imageView.scaleY = scaleFactor
return true
}
}
}

13.Time Picker

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_margin="@dimen/padding"
android:timePickerMode="clock"/>

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/timePicker"
android:textSize="18dp"
android:paddingLeft="80dp" />

</RelativeLayout>

MainActivity.kt

package com.example.myapplication100
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.ViewGroup
import android.widget.*

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
OnClickTime()
}

private fun OnClickTime() {


val textView = findViewById<TextView>(R.id.textView)
val timePicker = findViewById<TimePicker>(R.id.timePicker)
timePicker.setOnTimeChangedListener { _, hour, minute -> var hour = hour
var am_pm = ""
// AM_PM decider logic
when {hour == 0 -> { hour += 12
am_pm = "AM"
}
hour == 12 -> am_pm = "PM"
hour > 12 -> { hour -= 12
am_pm = "PM"
}
else -> am_pm = "AM"
}
if (textView != null) {
val hour = if (hour < 10) "0" + hour else hour
val min = if (minute < 10) "0" + minute else minute
// display format of time
val msg = "Time is: $hour : $min $am_pm"
textView.text = msg
textView.visibility = ViewGroup.VISIBLE
}
}
}
}

14. DatePicker

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/linear_layout"
android:gravity = "center">

<DatePicker
android:id="@+id/date_Picker"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:datePickerMode = "spinner"
android:calendarViewShown="false"/>
</LinearLayout>
MainActivity.kt

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.*
import android.widget.Toast
import java.util.*

class MainActivity : AppCompatActivity() {


// on below line we are creating a variable.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val datePicker = findViewById<DatePicker>(R.id.date_Picker)


val today = Calendar.getInstance()
datePicker.init(
today.get(Calendar.YEAR), today.get(Calendar.MONTH),
today.get(Calendar.DAY_OF_MONTH)

) { view, year, month, day ->


val month = month + 1
val msg = "You Selected: $day/$month/$year"
Toast.makeText(this@MainActivity, msg,
Toast.LENGTH_SHORT).show()
}
} }

15. TextClock in Kotlin


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<TextClock
android:id="@+id/txtClok"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:layout_marginLeft="70dp"
android:format12Hour="hh:mm:ss a"
android:textColor="#F1912F"
android:textSize="30dp"
android:textStyle="italic"/>

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/txtClok"
android:layout_below="@+id/txtClok"
android:layout_marginLeft="40dp"
android:text="Show Time"/>

<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignLeft="@+id/btn"
android:layout_below="@+id/btn"
android:layout_marginTop="20dp"
android:layout_marginLeft="-50dp"
android:textSize="25dp"
android:textStyle="normal"/>
</RelativeLayout>
import androidx.appcompat.app.AppCompatActivity

import android.os.Bundle
import android.widget.Button
import android.widget.TextClock
import android.widget.TextView

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val txtClock = findViewById<TextClock>(R.id.txtClok)


val txtView = findViewById<TextView>(R.id.textview)

val btn = findViewById<Button>(R.id.btn)


btn?.setOnClickListener {
txtView?.text = "Time: " + txtClock?.text
}
}
}
16. Switch in Kotlin

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">

<Switch
android:id="@+id/switch1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch1"/>
<Switch
android:id="@+id/switch2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch2"/>
</LinearLayout>

import android.os.Bundle
import android.widget.Switch
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {


super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

val sw1 = findViewById<Switch>(R.id.switch1)


sw1?.setOnCheckedChangeListener({ _ , isChecked ->
val message = if (isChecked) "Switch1:ON" else
"Switch1:OFF"
Toast.makeText(this@MainActivity, message,
Toast.LENGTH_SHORT).show()
})

val sw2 = findViewById<Switch>(R.id.switch2)


sw2?.setOnCheckedChangeListener({ _ , isChecked ->
val message = if (isChecked) "Switch2:ON" else
"Switch2:OFF"
Toast.makeText(this@MainActivity, message,
Toast.LENGTH_SHORT).show()
})
}
}
17. Alert Dialog Box in Android

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android "
xmlns:tools="http://schemas.android.com/tools "
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:layout_marginTop="180dp"
android:gravity="center_horizontal"
android:text="Press The Back Button of Your Phone."
android:textSize="30dp"
android:textStyle="bold" />
</RelativeLayout>

import android.os.Bundle
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}

// Declare the onBackPressed method when the back button is


pressed this method will call
override fun onBackPressed() {
val builder = AlertDialog.Builder(this)
builder.setMessage("Do you want to exit ?")
builder.setTitle("Alert !")
builder.setCancelable(false)

builder.setPositiveButton("Yes") {

dialog, which -> finish()


}

builder.setNegativeButton("No") {
dialog, which -> dialog.cancel()
}

val alertDialog = builder.create()


alertDialog.show()
}
}

You might also like