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

01.3 Text and scrolling views

The document provides an overview of TextView and ScrollView in Android development, detailing how to create and format text elements in an app. It explains the attributes of TextView, how to implement scrolling for large amounts of text using ScrollView, and offers examples of XML and Java code for implementation. Additionally, it includes links to further resources for developers to learn more about these components.

Uploaded by

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

01.3 Text and scrolling views

The document provides an overview of TextView and ScrollView in Android development, detailing how to create and format text elements in an app. It explains the attributes of TextView, how to implement scrolling for large amounts of text using ScrollView, and offers examples of XML and Java code for implementation. Additionally, it includes links to further resources for developers to learn more about these components.

Uploaded by

23020676
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 Scrolling Views
Creative Commons Attribution 4.0 1
Fundamentals
Fundamentals V2
V2 International License
1.3 Text and
scrolling views

Text and This work is licensed under a


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

● TextView
● ScrollView

This work is licensed under a


Text and Creative Commons Attribution 4.0
Android Developer 3
Scrolling Views International License
Fundamentals V2
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 Scrolling Views
Creative Commons Attribution 4.0 5
Fundamentals V2 International 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
(\", \')
Text and This work is licensed under a

● Escape any non-ASCII characters with backslash


Android Developer
Fundamentals V2
Scrolling Views
Creative Commons Attribution 4.0
International License
6
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 Scrolling Views
Creative Commons Attribution 4.0 7
Fundamentals V2 International 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
Android Developer
Text and
Scrolling Views
space between lines in 8
This work is licensed under a
Creative Commons Attribution 4.0
Fundamentals V2 International 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"
Don’t use HTML
android:autoLink="web"
for a web link in
android:text="@string/article_text"/>
free-form text
autoLink values:"web", "email", "phone", "map",
"all"
Text and This work is licensed under a
Android Developer Scrolling Views
Creative Commons Attribution 4.0 9
Fundamentals V2 International License
Creating TextView in Java code
TextView myTextview = new TextView(this);
myTextView.setWidth(LayoutParams.MATCH_PARENT
);
myTextView.setHeight(LayoutParams.WRAP_CONTEN
T);
myTextView.setMinLines(3);
myTextView.setText(R.string.my_story);
myTextView.append(userComment);
Text and This work is licensed under a
Android Developer Scrolling Views
Creative Commons Attribution 4.0 10
Fundamentals V2 International 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 Scrolling Views
Creative Commons Attribution 4.0 12
Fundamentals V2 International 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 Scrolling Views
Creative Commons Attribution 4.0 13
Fundamentals V2 International 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 Scrolling Views
Creative Commons Attribution 4.0 14
Fundamentals V2 International 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 Scrolling Views
Creative Commons Attribution 4.0 15
Fundamentals V2 International 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 Scrolling Views
Creative Commons Attribution 4.0 16
Fundamentals V2 International 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 Creative Commons Attribution 4.0 17
Scrolling International License
Fundamentals V2
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 Creative Commons Attribution 4.0 18
Scrolling International License
Fundamentals V2
END

Android Developer Fundamentals V2 19

You might also like