android Number picker text colour

A_rmas picture A_rmas · Nov 11, 2015 · Viewed 9.2k times · Source

I want the values in number picker to be white. I did the folloowing code which made it default black.

XML code:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@layout/gradient_blue"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:textSize="25sp"
        android:textColor="#fff"
        android:textStyle="bold"
        android:text="Please select difficulty level"/>
    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@drawable/category_seperator"/>

    <LinearLayout
        android:padding="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="horizontal">

        <NumberPicker
            android:id="@+id/numberPicker1"
            android:layout_width="wrap_content"
            android:minWidth="100dp"
            android:layout_margin="10dp"

            android:layout_height="wrap_content"/>
            <!--#019687-->
        <Button
            android:background="#019687"

            android:id="@+id/setting_confirm"
            android:layout_width="wrap_content"
            android:layout_margin="10dp"
            android:layout_height="wrap_content"
            android:textSize="30sp"
            android:textColor="#fff"
            android:padding="15dp"
            android:text="OK"/>


    </LinearLayout>

</LinearLayout>

Javacode:

    final Dialog d = new Dialog(context);
d.requestWindowFeature(Window.FEATURE_NO_TITLE);

d.setContentView(R.layout.dialog_settings);

final NumberPicker n = (NumberPicker) d.findViewById(R.id.numberPicker1);

String easy = Html.fromHtml("<font color=\"white\">EASY</font>").toString();
String medium = Html.fromHtml("<font color=\"white\">MEDIUM</font>")+"";
String hard = Html.fromHtml("<font color=\"white\">HARD</font>")+"";
String tough = Html.fromHtml("<font color=\"white\">TOUGH</font>")+"";

//        String[] a = {"EASY", "MEDIUM", "HARD", "TOUGH"};
String [ ] a = {easy,medium,hard,tough};
n.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
n.setDisplayedValues(a);


n.setMaxValue(3);
n.setMinValue(0);
n.setWrapSelectorWheel(true);

d.show();

I tried to change colour using html to as shown in code. I also tried to change the colour using getChildAt and casting it to TextView which crashed the app.

Number picker text colour

Answer

Eric B. picture Eric B. · Nov 11, 2015

As per our discussion in comments, the code here, requires a parameter from the Color class. Pass a color using this class.