Как стилизовать сборщик "Реакции" с помощью android styles.xml?
Я хотел знать, как установить fontFamily. Как установить цвет и цвет фона на Picker.items?
<Picker
style={styles.picker} // cannot set fontFamily here
selectedValue={this.state.selected2}
onValueChange={this.onValueChange.bind(this, 'selected2')}
mode="dropdown">
<Item label="hello" value="key0" /> // cannot set backgroundColor here
<Item label="world" value="key1" />
</Picker>
Я разместил это на Github и получил ответ, что только некоторые из атрибутов могут быть установлены в React Native с помощью стиля, но некоторые из основных элементов средства выбора (например, используемый шрифт) управляются нативным Android. Это нужно сделать через нативный андроид, используя styles.xml и т. Д.
К сожалению, я не являюсь родным разработчиком Android, поэтому у меня проблемы с пониманием решения. Я добавил следующий фрагмент в /res/values/styles.xml, но цвет текста или фон всплывающего окна не изменились.
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
</style>
<style name="SpinnerItem">
<item name="android:textColor">#ffffff</item>
<item name="android:background">#993399</item>
</style>
<style name="SpinnerDropDownItem">
<item name="android:textColor">#ffffff</item>
<item name="android:background">#993399</item>
</style>
</resources>
Какие еще изменения мне нужно сделать? Как установить fontFamily?
1 ответ
Это потому, что вам нужно объявить стили внутри вашего AppTheme
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:spinnerItemStyle">@style/SpinnerItem</item>
<item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item>
</style>
<style name="SpinnerItem">
<item name="android:textColor">#ffffff</item>
<item name="android:background">#993399</item>
</style>
<style name="SpinnerDropDownItem">
<item name="android:textColor">#ffffff</item>
<item name="android:background">#993399</item>
</style>
</resources>
Это оно:)