TextView tv = findViewById(R.id.tv); tv.setText("Our Text"); tv.setTextColor(startColor); Shader textShader = new LinearGradient(0, 0, tv.getPaint().measureText(tv.getText().toString()), tv.getTextSize(), new int[]{startColor, endColor}, new float[]{0, 1}, Shader.TileMode.CLAMP);