0% found this document useful (0 votes)
50 views

01.3 Text and Scrolling Views

The document discusses TextView and ScrollView in Android. TextView is used to display single and multi-line text, while ScrollView allows scrolling of content that extends beyond the screen height. TextView can be created in XML layout files or programmatically in Java code. ScrollView holds all of its content in memory and can only have one direct child, usually a TextView or layout containing multiple views. Common TextView attributes like text, text size, and color are also covered.

Uploaded by

Tushar Vaze
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

01.3 Text and Scrolling Views

The document discusses TextView and ScrollView in Android. TextView is used to display single and multi-line text, while ScrollView allows scrolling of content that extends beyond the screen height. TextView can be created in XML layout files or programmatically in Java code. ScrollView holds all of its content in memory and can only have one direct child, usually a TextView or layout containing multiple views. Common TextView attributes like text, text size, and color are also covered.

Uploaded by

Tushar Vaze
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Android Developer Fundamentals V2

Build your first


app

Lesson 1

Text and This work is licensed under a


Android
Android Developer
Developer Fundamentals
Fundamentals V2
V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 1
national License
1.3 Text and scrolling
views

Text and This work is licensed under a


Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 2
national License
Contents

● TextView
● ScrollView

This work is licensed under a


Text and Creative Commons Attribution 4.0 Inter
Android Developer Fundamentals V2 3
Scrolling Views national License
TextView

Android Developer Fundamentals V2 4


TextView for text
● TextView is View subclass for single and multi-line text
● EditText is TextView subclass with editable text
● Controlled with layout attributes
● Set text:
○ Statically from string resource in XML
○ Dynamically from Java code and any source

Text and This work is licensed under a


Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 5
national License
Formatting text in string resource
● Use <b> and <i> HTML tags for bold and italics
● All other HTML tags are ignored
● String resources: one unbroken line = one paragraph
● \n starts a new a line or paragraph
● Escape apostrophes and quotes with backslash (\", \')
● Escape any non-ASCII characters with backslash (\)

Text and This work is licensed under a


Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 6
national License
Creating TextView in XML

<TextView android:id="@+id/textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/my_story"/>

Text and This work is licensed under a


Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 7
national License
Common TextView attributes
android:text—text to display
android:textColor—color of text
android:textAppearance—predefined style or theme
android:textSize—text size in sp
android:textStyle—normal, bold, italic, or bold|italic
android:typeface—normal, sans, serif, or monospace
android:lineSpacingExtra—extra space between lines in sp
Text and This work is licensed under a
Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 8
national License
Formatting active web links
<string name="article_text">... www.rockument.com ...</string>

<TextView
android:id="@+id/article"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
Don’t use HTML
android:text="@string/article_text"/>
for a web link in
free-form text
autoLink values:"web", "email", "phone", "map", "all"

Text and This work is licensed under a


Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 9
national License
Creating TextView in Java code
TextView myTextview = new TextView(this);
myTextView.setWidth(LayoutParams.MATCH_PARENT);
myTextView.setHeight(LayoutParams.WRAP_CONTENT);
myTextView.setMinLines(3);
myTextView.setText(R.string.my_story);
myTextView.append(userComment);

Text and This work is licensed under a


Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 10
national License
ScrollView

Android Developer Fundamentals V2 11


What about large amounts of text?

● News stories, articles, etc…


● To scroll a TextView, embed it in a ScrollView
● Only one View element (usually TextView) allowed in a
ScrollView
● To scroll multiple elements, use one ViewGroup (such as
LinearLayout) within the ScrollView

Text and This work is licensed under a


Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 12
national License
ScrollView for scrolling content
● ScrollView is a subclass of FrameLayout
● Holds all content in memory
● Not good for long texts, complex layouts
● Do not nest multiple scrolling views
● Use HorizontalScrollView for horizontal scrolling
● Use a RecyclerView for lists

Text and This work is licensed under a


Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 13
national License
ScrollView layout with one TextView
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/article_subheading">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
.../>

</ScrollView>
Text and This work is licensed under a
Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 14
national License
ScrollView layout with a view group
<ScrollView ...
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
android:id="@+id/article_subheading"
.../>

<TextView
android:id="@+id/article" ... />
</LinearLayout>
</ScrollView>

Text and This work is licensed under a


Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 15
national License
ScrollView with image and button
<ScrollView...>
One child of ScrollView
<LinearLayout...> which can be a layout
<ImageView.../>
Children of the layout
<Button.../>
<TextView.../>
</LinearLayout>
</ScrollView>
Text and This work is licensed under a
Android Developer Fundamentals V2 Scrolling Views
Creative Commons Attribution 4.0 Inter 16
national License
Learn more
Developer Documentation:
● TextView
● ScrollView and HorizontalScrollView
● String Resources
Other:
● Android Developers Blog: Linkify your Text!
● Codepath: Working with a TextView
This work is licensed under a
Text and
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 17
Scrolling Views national License
What's Next?

● Concept Chapter: 1.3 Text and scrolling views


● Practical: 1.3 Text and scrolling views

This work is licensed under a


Text and
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 18
Scrolling Views national License
END

Android Developer Fundamentals V2 19

You might also like