ScrollView in Android - GeeksforGeeks

24 May, 2021
In Android, a ScrollView is a view group that is used to make vertically scrollable views. A scroll view contains a single direct child only. In order to place multiple views in the scroll view, one needs to make a view group(like LinearLayout) as a direct child and then we can define many views inside it. A ScrollView supports Vertical scrolling only, so in order to create a horizontally scrollable view, HorizontalScrollView is used.
Attribute
Description
Inherited Attributes:
From FrameLayout
Attributes
Description
From View
Attributes
Description
From ViewGroup
Attributes
Description
This example demonstrates the steps involved to create a ScrollView in Android using Kotlin.
Step 1: Create a new project
Click on File, then New => New Project.Choose “Empty Activity” for the project template.Select language as Kotlin.Select the minimum SDK as per your need.
Click on File, then New => New Project.
Choose “Empty Activity” for the project template.
Select language as Kotlin.
Select the minimum SDK as per your need.
Step 2: Modify strings.xml 
Add some strings inside the strings.xml file to display those strings in the app.
<resources>
    <string name="app_name">gfgapp_scrollview</string>
    <string name="scrolltext">Kotlin is a statically typed,
                 general-purpose programming language developed
                 by JetBrains, that has built world-class IDEs 
                 like IntelliJ IDEA, PhpStorm, Appcode, etc.
                 It was first introduced by JetBrains in 2011 
                 and a new language for the JVM. Kotlin is 
                 object-oriented language, and a “better language” 
                 than Java, but still be fully interoperable
                 with Java code. Kotlin is sponsored by Google, 
                 announced as one of the official languages for 
                 Android Development in 2017. 
                 Advantages of Kotlin language:
                 Easy to learn – Basic is almost similar to java.
                 If anybody worked in java then easily understand
                 in no time. Kotlin is multi-platform – Kotlin is
                 supported by all IDEs of java so you can write 
                 your program and execute them on any machine
                 which supports JVM. It’s much safer than Java.
                 It allows using the Java frameworks and libraries 
                 in your new Kotlin projects by using advanced 
                 frameworks without any need to change the whole
                 project in Java. Kotlin programming language, 
                 including the compiler, libraries and all the
                 tooling is completely free and open source and
                 available on github. Here is the link for 
                 Github https://github.com/JetBrains/kotlin 
                 Applications of Kotlin language:
                 You can use Kotlin to build Android Application. 
                 Kotlin can also compile to JavaScript, and making
                 it available for the frontend. It is also designed 
                 to work well for web development and server-side 
                 development.Kotlin is a statically typed, general-purpose
                 programming language developed by JetBrains that 
                 has built world-class IDEs like IntelliJ IDEA, 
                 PhpStorm, Appcode, etc. It was first introduced
                 by JetBrains in 2011.Kotlin is object-oriented 
                 language and a better language than Java, but still
                 be fully interoperable with Java code. A constructor
                 is a special member function that is invoked when 
                 an object of the class is created primarily to initialize
                 variables or properties. A class needs to have a constructor
                 and if we do not declare a constructor, then the compiler
                 generates a default constructor.
                 Kotlin has two types of constructors –
                 Primary Constructor
                 Secondary Constructor
                 A class in Kotlin can have at most one primary
                 constructor, and one or more secondary constructors. 
                 The primary constructor
                 initializes the class, while the secondary 
                 constructor is used
                 to initialize the class and introduce some extra logic.
                 Explanation:
                 When we create the object add for the class then 
                 the values 5 and 6
                 passes to the constructor. The constructor 
                 parameters a and b 
                 initialize with the parameters 5 and 6 respectively.
                 The local variable c contains the sum of variables. 
                 In the main, we access the property of 
                 constructor using ${add.c}.
                 Explanation:
                 Here, we have initialized the constructor 
                 parameters with some
                 default values emp_id = 100 and emp_name = “abc”.
                 When the object emp is created we passed the values for
                 both the parameters so it prints those values.
                 But, at the time of object emp2 creation, 
                 we have not passed
                 the emp_name so initializer block uses 
                 the default values and
                 print to the standard output.</string>
</resources>
  
 
 
Step 3: Modify activity_main.xml 
 
Add the ScrollView and inside the ScrollView add a TextView to display the strings that are taken in the strings.xml file.
 
<?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">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="-127dp">

        <TextView
            android:id="@+id/scrolltext"
            style="@style/AppTheme"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/scrolltext"
            android:textColor="@color/green"/>
    </ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
 
 
As already mentioned above, Scrollview can only contain one direct child. In this case, the child is textview. On noticing this textview you will realize that the text added inside textview is mentioned as @string/scrolltext which refers to a string resource inside the strings.xml file.
 
Step 4: MainActivity.kt file
 
There is nothing to do with the MainActivity.kt file, so keep it as it is.
 
package com.example.gfgapp_scrollview

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

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}
  
 
arorakashish0911
android
Android-View
Picked
Android
Kotlin
Android
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Broadcast Receiver in Android With Example
Services in Android with Example
How to Create and Add Data to SQLite Database in Android?
Content Providers in Android with Example
Android RecyclerView in Kotlin
Broadcast Receiver in Android With Example
Services in Android with Example
Content Providers in Android with Example
Android RecyclerView in Kotlin
Android UI Layouts