Hola geeks, hoy vamos a hacer una aplicación donde veremos cómo podemos agregar un enlace a un TextView en Android, y usando este concepto agregaremos portales: hogar y práctica (de GeeksforGeeks) en nuestra aplicación. Para que el usuario pueda acceder directamente a estos portales desde nuestra aplicación.
¿Qué vamos a construir en este artículo?
Usaremos el archivo strings.xml para hacer nuestra tarea y luego estableceremosMovementMethod() en nuestro archivo java para que cualquier enlace que proporcionemos podamos dirigirlo allí. Así es como se verá nuestra aplicación.
Entonces, ahora veamos la implementación paso a paso de la aplicación.
Implementación paso a paso
Paso 1: crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.
Paso 2: trabajar en el archivo strings.xml
Abra valores > archivo strings.xml . Tenemos que hacer dos strings para agregar un hipervínculo, así que use el código que se proporciona a continuación.
XML
<resources> <string name="app_name">Hyperlink_textview</string> <!-- href tag is used to add link--> <!-- link for home text view--> <string name="hyperlink"><a href="https://www.geeksforgeeks.org/">geeksforgeeks.org</a></string> <!-- link for practice textview--> <string name="hyperlink2"><a href="https://practice.geeksforgeeks.org/">practice.geeksforgeeks.org</a></string> </resources>
Paso 3: trabajar con el archivo activity_main.xml
En el archivo activity_main.xml , tenemos que nombrar los TextViews por una string que creamos en el archivo strings.xml. A continuación se muestra el código para ello.
XML
<?xml version="1.0" encoding="utf-8"?> <!-- Constraint layout is used to constrain all components easily--> <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" android:background="#6C6B74" tools:context=".MainActivity"> <TextView android:id="@+id/textView11" android:layout_width="381dp" android:layout_height="78dp" android:layout_marginTop="252dp" android:background="#1B0D0D" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView3" /> <!-- ImageView for the logo--> <ImageView android:id="@+id/imageView" android:layout_width="135dp" android:layout_height="136dp" 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.026" app:srcCompat="@drawable/gfg_round" /> <!-- TextView for the tagline of geeksforgeeks --> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="141dp" android:text="A Computer Science Portal for geeks" android:textColor="#000C01" android:textSize="20sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.576" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/imageView" app:layout_constraintVertical_bias="0.022" /> <!-- textview as a container to other two text views--> <TextView android:id="@+id/textView4" android:layout_width="381dp" android:layout_height="78dp" android:layout_marginTop="76dp" android:background="#1B0D0D" app:layout_constraintBottom_toTopOf="@+id/textView11" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView3" app:layout_constraintVertical_bias="0.235" /> <!-- Home text view--> <TextView android:id="@+id/textView7" android:layout_width="96dp" android:layout_height="44dp" android:gravity="center" android:text="Home" android:textColor="#027507" android:textSize="24sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="@+id/textView4" app:layout_constraintEnd_toEndOf="@+id/textView4" app:layout_constraintHorizontal_bias="0.15" app:layout_constraintStart_toStartOf="@+id/textView4" app:layout_constraintTop_toTopOf="@+id/textView4" app:layout_constraintVertical_bias="0.47" /> <!-- Hyperlink number 1 to the textview--> <TextView android:id="@+id/textView8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hyperlink" app:layout_constraintBottom_toBottomOf="@+id/textView4" app:layout_constraintEnd_toEndOf="@+id/textView4" app:layout_constraintHorizontal_bias="0.709" app:layout_constraintStart_toEndOf="@+id/textView7" app:layout_constraintTop_toBottomOf="@+id/textView3" app:layout_constraintVertical_bias="0.788" /> <!-- Hyperlink number 2 to the textview--> <TextView android:id="@+id/textView12" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Practice" android:textColor="#027507" android:textSize="24sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="@+id/textView11" app:layout_constraintEnd_toEndOf="@+id/textView11" app:layout_constraintHorizontal_bias="0.133" app:layout_constraintStart_toStartOf="@+id/textView11" app:layout_constraintTop_toTopOf="@+id/textView11" app:layout_constraintVertical_bias="0.474" /> <!-- Practice text view--> <TextView android:id="@+id/textView13" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hyperlink2" app:layout_constraintBottom_toBottomOf="@+id/textView11" app:layout_constraintEnd_toEndOf="@+id/textView11" app:layout_constraintHorizontal_bias="0.812" app:layout_constraintStart_toEndOf="@+id/textView12" app:layout_constraintTop_toTopOf="@+id/textView11" app:layout_constraintVertical_bias="0.593" /> </androidx.constraintlayout.widget.ConstraintLayout>
Después de implementar el código anterior, nuestra interfaz de usuario se ve así.
Paso 4: trabajar con el archivo MainActivity.java
Usaremos setMovementMethod() para redirigir a los usuarios al enlace provisto. También usaremos el método setcolorlink() para cambiar el color del enlace según nuestra conveniencia. A continuación se muestra el código para ello.
Java
import android.graphics.Color; import android.os.Bundle; import android.text.method.LinkMovementMethod; 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); // Text view number 1 to add hyperlink TextView linkTextView = findViewById(R.id.textView8); // method to redirect to provided link linkTextView.setMovementMethod(LinkMovementMethod.getInstance()); // method to change color of link linkTextView.setLinkTextColor(Color.YELLOW); // Text view number 2 to add hyperlink TextView linkTextView2 = findViewById(R.id.textView13); // method to redirect to provided link linkTextView2.setMovementMethod(LinkMovementMethod.getInstance()); // method to change color of link linkTextView2.setLinkTextColor(Color.YELLOW); } }
Felicitaciones, ha realizado con éxito una aplicación completa, es hora de ejecutarla y probarla. Puede utilizar este método para redirigir a los usuarios de su aplicación a su sitio web. Aquí está el resultado final de su aplicación.
Producción:
Publicación traducida automáticamente
Artículo escrito por jangirkaran17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA