java: ¿Cómo puedo cambiar el color del texto de edición ingresado por el usuario?

CorePress2024-01-25  12

He creado una página de registro y selecciono el color de sugerencia azul. Ahora quiero cambiar el color del texto que se ingresa en el texto de edición. Dígame cómo puedo cambiar el color del texto.

Aquí está el código de mi archivo XML

<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context=".Signup"
android:background="@color/purple_500">

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="match_parent"
    android:layout_height="660dp"
    android:layout_marginTop="80dp"
    android:background="@drawable/linear_round"
    android:orientation="vertical"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

</LinearLayout>

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:text="Please Signup..."
    android:textColor="@color/white"
    android:textStyle="bold"
    android:textSize="29sp"
    android:gravity="center"
    android:layout_marginTop="16dp"
    android:id="@+id/textView">
</TextView>

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:textColor="@color/black"
    android:hint="Enter your name"
    android:layout_marginTop="250dp"
    android:layout_marginLeft="30dp"
    android:layout_marginRight="30dp"
    android:gravity="center"
    android:textColorHint="@color/purple_500"
    android:id="@+id/name"/>

<EditText
    android:id="@+id/pass"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="30dp"
    android:layout_marginRight="30dp"
    android:gravity="center"
    android:hint="Enter your password"
    android:inputType="textPassword"
    android:textColor="@color/black"
    android:textColorHint="@color/purple_500"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/name" />

<EditText
    android:id="@+id/email"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="30dp"
    android:layout_marginRight="30dp"
    android:gravity="center"
    android:hint="Enter your valid e-mail"
    android:inputType="textEmailAddress"
    android:textColor="@color/black"
    android:textColorHint="@color/purple_500"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/pass" />

<EditText
    android:id="@+id/number"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="30dp"
    android:layout_marginRight="30dp"
    android:gravity="center"
    android:hint="Enter your cell number"
    android:inputType="phone"
    android:textColor="@color/black"
    android:textColorHint="@color/purple_500"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/email" />

<com.airbnb.lottie.LottieAnimationView
    android:id="@+id/submit"
    android:layout_width="445dp"
    android:layout_height="163dp"
    android:layout_centerInParent="true"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/number"
    android:layout_marginBottom="100dp"
    app:lottie_autoPlay="true"
    app:lottie_loop="true"
    app:lottie_rawRes="@raw/submit" />

<com.airbnb.lottie.LottieAnimationView
    android:id="@+id/trial"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:layout_centerInParent="true"
    android:layout_marginLeft="30dp"
    android:layout_marginRight="30dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/submit"
    app:lottie_autoPlay="true"
    app:lottie_loop="true"
    app:lottie_rawRes="@raw/trial" />

<com.airbnb.lottie.LottieAnimationView
    android:id="@+id/signup_animation"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_centerInParent="true"
    app:layout_constraintBottom_toTopOf="@+id/name"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginTop="70dp"
    app:lottie_autoPlay="true"
    app:lottie_loop="true"
    app:lottie_rawRes="@raw/signup" />
</androidx.constraintlayout.widget.ConstraintLayout>

¿Y cómo puedo agregar el efecto de marquesina en mi vista de texto? ¿Puedo hacer que la vista de texto se desplace de derecha a izquierda?

Consulta este stackoverflow.com/questions/2182578/marquee-text-in-android

- Zain

28 de marzo de 2021 a las 1:23



------------------------------------

Si TextView ocupa todo el ancho, debes agregar estas líneas de código

<TextView
    .
    .
    android:singleLine="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever"
    />

Además, no olvide configurar la selección para TexrtView como se muestra a continuación

textview.setSelected(true);

y si TextView no llena el ancho, lo único es llamar a este método y pasarle TextView.

Kotlin

    fun addMarquee(textView: TextView) {
    textView.viewTreeObserver.addOnGlobalLayoutListener(object :
        ViewTreeObserver.OnGlobalLayoutListener {
        override fun onGlobalLayout() {
            val pixels = textView.measuredWidth - 1
            val params = textView.layoutParams
            params.width = pixels
            textView.layoutParams = params
            textView.isSelected = true
            textView.ellipsize = TextUtils.TruncateAt.MARQUEE
            textView.isSingleLine = true
            textView.marqueeRepeatLimit = -1
            textView.viewTreeObserver.removeOnGlobalLayoutListener(this)
        }
    })
}

Java

public void addMarquee(TextView textView) {
    textView.getViewTreeObserver().addOnGlobalLayoutListener(
            new ViewTreeObserver.OnGlobalLayoutListener() {
        @Override
        public void onGlobalLayout() {

            int pixels = textView.getMeasuredWidth() - 1;
            ViewGroup.LayoutParams params = textView.getLayoutParams();
            params.width = pixels;
            textView.setLayoutParams(params);
            textView.setSelected(true);
            textView.setEllipsize(TextUtils.TruncateAt.MARQUEE);
            textView.setSingleLine(true);
            textView.setMarqueeRepeatLimit(-1);
            textView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
        }
    });
}

NOTA: este método solo funciona cuando el ancho de textView es wrap_content.

3

Gracias peroeste es el código kotlin y estoy usando java

-Abdul Basit

9 de abril de 2021 a las 17:37

Voy a editar la respuesta y agregaré el código Java en los próximos minutos.

- Reza Abedi

9 de abril de 2021 a las 17:40

Está actualizado. Solo es necesario agregar addMarquee(findViewById(R.id.text)); asu onCreate de actividad del fragmento Si funciona, acepte la respuesta.

- Reza Abedi

9 de abril de 2021 a las 17:53



------------------------------------

El atributo textColor cambia el color del texto que el usuario ingresó.

android:textColor="@color/black"

HorizontalScrollView tiene una vista de niño y se puede desplazar horizontalmente.

Hay muchas formas de mover la vista.

Buscar con palabras clave como mover vista de animación android o mover vista programáticamente android

4

No quiero agregar una vista de desplazamiento, solo quiero agregar un efecto de marquesina. ¿Hay algún atributo para esto?

-Abdul Basit

28 de marzo de 2021 a las 1:18

Creo que entendí mal lo de deslizarse. La animación no es tan fácil como en CSS o HTML.

- cnux9

28 de marzo de 2021 a las 1:29

¿Qué tal esto: stackoverflow.com/questions/14141039/…

- cnux9

28 de marzo de 2021 a las 1:30

Quiero desplazar mi texto automáticamente de derecha a izquierda. Tienes razón, es mucho más fácil en html o css

-Abdul Basit

28 de marzo de 2021 a las 1:31

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare