Если вы ищете библиотеку и примеры, попробуйте libwebsockets
У нее есть как клиентская, так и серверная возможности, и я надеюсь, что она поможет вам хорошо ознакомиться с ее документами и примерами.
Вы можете изменить цвет, используя drawable, подобный этому
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:drawable="@drawable/cbchk_blue"
android:state_focused="false">
</item>
<item android:state_checked="true"
android:drawable="@drawable/cbchk_blue"
android:state_focused="true">
</item>
<item android:state_checked="false"
android:drawable="@drawable/cbunchk_blue"
android:state_focused="false">
</item>
<item android:state_checked="false"
android:drawable="@drawable/cbunchk_blue"
android:state_focused="true">
</item>
</selector>
в вашем макете, просто используйте свойство кнопки
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/custom_checkbox"
android:id="@+id/checkBox" />
Нет атрибута, влияющего на цвет текста флажка на уровне темы.
Все, что вы можете сделать, чтобы изменить цвет текста, - это определить стиль, как показано ниже, и применить его к флажку с помощью атрибута style.
<style name="MyChkTextColor">
<item name="android:textColor">#7ca011</item>4
</style>
Вы можете изменить цвет checkbox
, используя это:
<item name="colorAccent">@color/green</item>
Вы можете изменить цвет textView
в checkbox
, используя следующее:
<item name="android:textColorSecondary">@color/red</item>
Например:
<style name="SampleTheme" parent="Theme.AppCompat">
<item name="colorAccent">@color/green</item>
<item name="android:textColorSecondary">@color/red</item>
</style>
Else, создайте 3 xml
файла для настроенных цветов, как указано в этом ответе (посмотрите, где он говорит Второй метод) .
Я знаю, что этот вопрос задан давно, но я хочу добавить свое решение. Он работает со всеми версиями SDK.
Вы правы, что для изменения стиля CheckBox во всем проекте вам нужно добавить строку к вашей теме:
<style name="AppTheme" parent="Theme.AppCompat">
...
<item name="android:checkboxStyle">@style/MyCheckBoxStyle</item>
...
</style>
И сам стиль, где вы устанавливаете свой собственный текст и цвет флажка:
<style name="MyCheckBoxStyle" parent="Widget.AppCompat.CompoundButton.CheckBox">
<item name="android:textColor">@android:color/holo_purple</item>
<item name="buttonTint">@android:color/holo_purple</item>
</style>
Примечание: префикс android:
указывает, что свойство связано с атрибутами SDK. Если вы удалите его, свойство связывается с поддержкой библиотеки. Вот почему система рассматривает buttonTint
и android:buttonTint
как разные параметры. Если ваш минимальный SDK равен 21, вам не нужно использовать библиотеку поддержки, и вы можете просто использовать android:buttonTint
.
Решение для меня заключалось в использовании свойства textColor:
<CheckBox
android:textColor="@color/mycolor"
...
/>
Вы можете использовать android:textColorPrimaryDisableOnly
для изменения CheckBox
/ RadioButton
textColor
и colorAccent
для изменения протягиваемого
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorAccent">#00f</item> <!-- blue -->
<item name="android:textColorPrimaryDisableOnly">#f00</item> <!-- red -->
</style>