Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

768
Visualizações
¿Cómo establecer el degradado como color de texto y agregar un trazo alrededor en TextView Android?

Quiero establecer el degradado como color de texto y, al mismo tiempo, quiero que el texto tenga un trazo sólido a su alrededor en un TextView . Hasta ahora, lo que he logrado es que el texto solo puede mostrar el degradado o el trazo, no ambos al mismo tiempo.

Creé una clase personalizada con TextView extendido y estoy usando los siguientes métodos:

Usando esto para dibujar un trazo:

 paint.setStyle(Paint.Style.STROKE); paint.setStrokeWidth(_strokeWidth); setTextColor(_strokeColor);

Lo que me da este resultado:

ingrese la descripción de la imagen aquí

Usando el siguiente código para agregar gradiente:

 Shader textShader = new LinearGradient(0f, 0f, getWidth(), getTextSize(), gradientColorsArray, null, Shader.TileMode.CLAMP); paint.setShader(textShader);

Y me da el siguiente resultado:

ingrese la descripción de la imagen aquí

El problema es cuando combino los dos métodos anteriores, el trazo se dibuja pero el color del trazo es el mismo que el degradado que estoy dando al objeto de pintura.

El siguiente es el resultado que quiero lograr. Sería genial si alguien me puede guiar sobre cómo lograr los resultados deseados.

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
4 Respostas
Responde à pergunta

0

Entonces, después de esperar más de 4 días y mucha investigación, finalmente puedo lograr el resultado deseado.

El error que estaba cometiendo es que al dibujar un trazo en un objeto de pintura, configuro el color del trazo como textcolor . Lo que hice esta vez fue que creé un objeto LinearGradient() y se lo di a paint.shader mientras configuraba paintStyle(Paint.Style.Stroke) .

 Paint paint = this.getPaint(); paint.setStyle(Paint.Style.STROKE); paint.setStrokeWidth(5f); paint.setShader(new LinearGradient(0f, 0f, getTextSize(), getTextSize(), mOutlineColor, mOutlineColor, Shader.TileMode.CLAMP));

Y después de configurar el trazo en el método onDraw() de mi clase CustomTextView , llamé a super.onDraw(canvas)

Luego creo un nuevo objeto LinearGradient() para los colores degradados de la siguiente manera:

 Paint paint = this.getPaint(); paint.setStyle(Paint.Style.FILL); Shader linearShader = new LinearGradient(0f, 0f, getWidth(), getTextSize(), colors, null, Shader.TileMode.CLAMP); paint.setShader(linearShader);

Finalmente llamando a super.onDraw(canvas) nuevamente y esto le da a mi vista de texto un trazo, así como un degradado como textview .

over 4 years ago · Santiago Trujillo Relatório

0

hola internet para todos

about 4 years ago · Manuel saravia Relatório

0

hola a tos amigos

about 4 years ago · Manuel saravia Relatório

0

Saludos para todos los del grupo

about 4 years ago · Manuel saravia Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda