Android Tutorial
Software Setup and Configuration
Android Studio
File Structure
Components
Core Topics
Layout
View
Button
Intent and Intent Filters
Toast
RecyclerView
Fragments
Adapters
Other UI Component
Image Loading Libraries
Date and Time
Material Design
Bars
Working with Google Maps
Chart
Animation
Database
Advance Android
Jetpack
Architecture
App Publish
App Monetization
TextView
is one of the most basic and commonly used widgets in Android. It's primarily used for displaying read-only text to the user. Let's see how you can use the TextView
widget in Android using Java:
Declare your TextView
in an XML layout file.
activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center"> <TextView android:id="@+id/myTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, Java!" /> </LinearLayout>
Reference and manipulate the TextView
in your Java activity:
MainActivity.java:
import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private TextView myTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myTextView = findViewById(R.id.myTextView); // Modify the text myTextView.setText("Hello from Java code!"); } }
You can also change various properties of the TextView
programmatically:
// Change text color myTextView.setTextColor(Color.RED); // Change text size (specified in SP) myTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20); // Apply bold text style myTextView.setTypeface(null, Typeface.BOLD);
These are just some basic usages of TextView
in Android using Java. Remember, TextView
has many other properties that you can set either via XML attributes or programmatically in your Java code to customize its appearance and behavior as per your needs.
Creating TextView in Android using Java example:
import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView myTextView = new TextView(this); myTextView.setText("Hello, TextView!"); // Add myTextView to your layout } }
Styling TextView in Android with Java:
import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView styledTextView = new TextView(this, null, R.style.MyTextStyle); styledTextView.setText("Styled TextView"); // Add styledTextView to your layout } }
Handling text formatting in Java with TextView:
import android.os.Bundle; import android.text.SpannableString; import android.text.style.StyleSpan; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SpannableString formattedText = new SpannableString("Bold and Italic Text"); formattedText.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 0, 4, 0); TextView formattedTextView = new TextView(this); formattedTextView.setText(formattedText); // Add formattedTextView to your layout } }
Clickable TextView in Android using Java:
import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView clickableTextView = new TextView(this); clickableTextView.setText("Click me!"); clickableTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.example.com")); startActivity(intent); } }); // Add clickableTextView to your layout } }
TextView with different font styles in Java:
import android.os.Bundle; import android.graphics.Typeface; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView styledTextView = new TextView(this); styledTextView.setText("Different Font Styles"); styledTextView.setTypeface(null, Typeface.BOLD_ITALIC); // Add styledTextView to your layout } }
Android TextView with multiple languages using Java:
import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView multilingualTextView = new TextView(this); multilingualTextView.setText("Hello, ���, ����ˤ���"); // Add multilingualTextView to your layout } }
Dynamic text updates in Java with TextView:
import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String dynamicText = "Dynamic Text"; TextView dynamicTextView = new TextView(this); dynamicTextView.setText(dynamicText); // Add dynamicTextView to your layout } }
Accessibility features for TextView in Android using Java:
<!-- Provide content descriptions and other accessibility attributes -->
Android TextView with HTML content using Java:
import android.os.Bundle; import android.text.Html; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String htmlContent = "<b>HTML</b> <i>Content</i>"; TextView htmlTextView = new TextView(this); htmlTextView.setText(Html.fromHtml(htmlContent, Html.FROM_HTML_MODE_COMPACT)); // Add htmlTextView to your layout } }
TextView and state management in Android using Java:
import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private TextView statefulTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); statefulTextView = findViewById(R.id.statefulTextView); statefulTextView.setText("Initial State"); // Add statefulTextView to your layout } // Update text dynamically private void updateTextDynamically(String newText) { statefulTextView.setText(newText); } }
Customizing TextView appearance in Android using Java:
<!-- Apply styles and themes to TextView -->
TextView with drawable in Android using Java:
import android.os.Bundle; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Assuming you have an image resource named "ic_launcher_foreground" Drawable drawable = getResources().getDrawable(R.drawable.ic_launcher_foreground); TextView drawableTextView = new TextView(this); drawableTextView.setText("TextView with Drawable"); drawableTextView.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null); // Add drawableTextView to your layout } }
TextView and spannable text in Android using Java:
import android.os.Bundle; import android.text.Spannable; import android.text.SpannableString; import android.text.style.ForegroundColorSpan; import android.widget.TextView; import androidx.core.content.ContextCompat; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SpannableString spannableText = new SpannableString("Colored Text"); spannableText.setSpan(new ForegroundColorSpan(ContextCompat.getColor(this, R.color.colorAccent)), 0, 6, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); TextView spannableTextView = new TextView(this); spannableTextView.setText(spannableText); // Add spannableTextView to your layout } }