Как изменить цвет текста переключателя в XML?

Мой текст в моем switch определенный в файле XML не изменится, его цвет останется черным в качестве фона активности. Я попытался с опцией textcolor без какого-либо успеха. Есть идеи?

Мой xml файл

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000">

    <LinearLayout 
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hôte : "
            android:textColor="#FFFFFF"/>
        <EditText 
            android:background="#40FFFFFF"
            android:id="@+id/hostname"
            android:layout_width="200px"
            android:layout_height="wrap_content"
            android:textColor="#FFFFFF"/>

    </LinearLayout>

    <LinearLayout 
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Utiliser Https : "
            android:textColor="#FFFFFF"/>
        <Switch 
            android:id="@+id/Switch"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textOn="on"
            android:textOff="off"
            android:textColor="#FFFFFF"
            android:onClick="onToggleClicked"/>

    </LinearLayout>
</LinearLayout>

2 ответа

Решение

Для switch добавь это к себе styles.xml файл:

<style name="x" parent="@android:style/TextAppearance.Small">
    <item name="android:textColor">#33CCFF</item>
</style>

Два варианта:

  1. добавить это в свой макет XML файл:

    android:switchTextAppearance="@style/x"
    
  2. добавьте это в свой класс Activity после того, как вы создали экземпляр вашего switch:

    switchInstance.setSwitchTextAppearance(getActivity(), R.style.x);
    

Примечание: путь к styles.xml файл: Project Folder > res > values > styles.xml

Когда вы создаете instance вашей EditText или же TextView в вашем Activity код, вы можете установить TextColor, или же Background Color в этом отношении, там.

Ex.

import android.graphics.Color; // add to top of your class

TextView x = (TextView)findViewById(R.id.y);

x.setTextColor(Color.parseColor("red")); // one way
x.setTextColor(Color.rgb(255, 0, 0)); // another way

x.setBackgroundColor(Color.parseColor("colorString"));
x.setBackgroundColor(Color.rgb(red int value, green int value, blue int value));
Другие вопросы по тегам