es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo aplicar una fuente personalizada, subrayar partes del texto y hacerlas clicables. Para aplicar una fuente personalizada, sigue estos pasos: 1. Descarga la fuente personalizada en tu dispositivo. 2. Abre el archivo en el que deseas aplicar la fuente. 3. Selecciona el texto que deseas cambiar. 4. Ve a la pestaña “Fuente” en la barra de herramientas de tu programa. 5. Haz clic en el menú desplegable de “Familia de fuentes” y selecciona la fuente personalizada descargada. 6. Asegúrate de guardar los cambios antes de cerrar el archivo. Para subrayar parte del texto, sigue estos pasos: 1. Selecciona el texto que deseas subrayar. 2. Ve a la pestaña “Formato” en la barra de herramientas de tu programa. 3. Haz clic en el botón “Subrayado” para aplicar el subrayado al texto seleccionado. Para hacer un texto clickable, sigue estos pasos: 1. Selecciona el texto que deseas hacer cliclable. 2. Ve a la pestaña “Insertar” en la barra de herramientas de tu programa. 3. Haz clic en el botón “Hipervínculo”. 4. En la ventana emergente, ingresa la URL o la ubicación del archivo al que deseas que el texto enlace. 5. Haz clic en “Aceptar” para finalizar y hacer cliclable el texto. Recuerda guardar los cambios realizados en el documento después de aplicar los ajustes de fuente personalizada, subrayado y creación del hipervínculo.

Estoy teniendo problemas con este problema desde hace 1 día. Quiero aplicar una fuente personalizada (en XML la estoy agregando como fontFamily) a un textview. Y también aplicar un subrayado a palabras específicas en ese textview con un hipervínculo y un color personalizado.

He probado varias formas como texto HTML con Html.fromHTML(), textview personalizado con Paint(), SpannableBuilder, etc. Cada vez, puedo aplicar subrayado con enlace clickeable y sin fuente personalizada o solo puedo aplicar la fuente personalizada pero no el subrayado (en algunos dispositivos como Samsung, Motorola, etc.).

Tags:  ,

Answer

  1. Avatar for davy.ai

    Aplicar fuente personalizada y subrayado con hipervínculo y color personalizado a TextView en Android

    Si tienes dificultades para aplicar una fuente personalizada y subrayado con hipervínculo y color personalizado a un TextView en Android, has llegado al lugar correcto. Sigue estos pasos:

    1. Agrega la fuente personalizada a tu proyecto de Android Studio. Puedes descargar el archivo de fuente y agregarlo a la carpeta “assets” de tu proyecto.
    2. Agrega el siguiente código a tu actividad o fragmento para aplicar la fuente personalizada al TextView:

    TextView textView = findViewById(R.id.textView);
    Typeface customFont = Typeface.createFromAsset(getAssets(), "custom_font.ttf");
    textView.setTypeface(customFont);
    

    Sustituye “custom_font.ttf” por el nombre de tu archivo de fuente personalizada.

    1. Para aplicar subrayado con hipervínculo y color personalizado a palabras específicas en el TextView, puedes utilizar SpannableStringBuilder. Agrega el siguiente código para crear el SpannableStringBuilder:
    SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder("Este es un texto de muestra con subrayado, hipervínculo y color personalizado.");
    
    // Agrega subrayado a una palabra específica
    spannableStringBuilder.setSpan(new UnderlineSpan(), 8, 16, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    
    // Agrega hipervínculo a una palabra específica
    ClickableSpan clickableSpan = new ClickableSpan() {
        @Override
        public void onClick(View widget) {
            Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.example.com"));
            startActivity(intent);
        }
        @Override
        public void updateDrawState(TextPaint ds) {
            super.updateDrawState(ds);
            ds.setUnderlineText(false);
            ds.setColor(Color.BLUE);
        }
    };
    spannableStringBuilder.setSpan(clickableSpan, 21, 29, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    
    // Agrega color personalizado a una palabra específica
    ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.RED);
    spannableStringBuilder.setSpan(foregroundColorSpan, 46, 51, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    

    Sustituye el texto de muestra por el texto deseado y ajusta los valores de índice para aplicar el subrayado, hipervínculo y color personalizado a las palabras específicas en tu texto.

    1. Finalmente, asigna el SpannableStringBuilder al TextView:
    textView.setText(spannableStringBuilder);
    textView.setMovementMethod(LinkMovementMethod.getInstance());
    

    El método setMovementMethod() es importante para hacer que el hipervínculo sea clickable.

    ¡Eso es todo! Has aplicado correctamente una fuente personalizada y subrayado con hipervínculo y color personalizado a un TextView en Android utilizando SpannableStringBuilder.

Comments are closed.