Search code examples
androidandroid-studiotextviewtextcolor

how can i create a textview with two color text?


i want create a TextView and have two text or on text with two color...

i create this ; enter image description here

and i want the sample shop color change to red and search in is blue...

my xml code :

    <TextView
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:layout_marginLeft="5dp"
    android:layout_marginTop="5dp"
    android:layout_marginRight="5dp"
    android:layout_marginBottom="5dp"
    android:background="@drawable/search_bg"
    android:drawableRight="@drawable/search"
    android:drawableTint="@color/day_dark_blue"
    android:paddingRight="15dp"
    android:gravity="center"
    android:layout_gravity="center|center_vertical"
    android:text="search in Sample Shop"
    android:textColor="@color/day_dark_blue"
    android:textSize="18sp" />

Solution

  • You can use SpannableString to achieve the same.

    TextView TV = (TextView)findViewById(R.id.textView);
    
    Spannable wordtoSpan = new SpannableString("search in Sample Shop");        
    
    wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 9, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    
    wordtoSpan.setSpan(new ForegroundColorSpan(Color.RED), 10, 21, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    
    TV.setText(wordtoSpan);