n8e*_*n8e 17 javascript android ios reactjs react-native
我正在尝试在React Native选取器中设置项目的文本颜色.到目前为止,我只在iOS上工作,但如果我能找到一个非常棒的跨平台解决方案.
我尝试过以下的事情:
在选择器上的样式颜色
<Picker style={{color:'white'}} ...etc >
Run Code Online (Sandbox Code Playgroud)
在拾取器项目上的样式颜色
<Picker.Item style={{color:'#fff'}} label={'Toronto'} value={'Toronto'} />
Run Code Online (Sandbox Code Playgroud)
我也看过一些添加颜色属性的例子,所以我尝试了这个
<Picker.Item color='white' label={'Toronto'} value={'Toronto'} />
Run Code Online (Sandbox Code Playgroud)
在这里完全失去了.感谢您的任何见解!
编辑:这是一个解决方案 - 在Picker元素中使用itemStyle prop.我相信这只是iOS.
<Picker itemStyle={{color:'white'}} >
<Picker.Item color='white' label={'Toronto'} value={'Toronto'} />
<Picker.Item label={'Calgary'} value={'Calgary'} />
</Picker>
Run Code Online (Sandbox Code Playgroud)
要更改颜色,您需要使用此:
<Item label="blue" color="blue" value="blue" />
Run Code Online (Sandbox Code Playgroud)
如前所述,这itemStyle是property仅受iOS 平台支持的高级功能,您可以在此处的 React Native 文档中看到。因此,对于 Android 上的 Picker 项目的样式,例如更改fontFamily只能使用原生 Android 样式完成,目前。然后它将适用于两个平台。
考虑到这一点,您可以<style>在style.xml文件中添加一个包含资源的新标签,通常在路径中本地化:android/app/src/main/res/values/styles.xml. 并将其设置AppTheme为使用添加的样式进行计数,例如:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:spinnerItemStyle">@style/SpinnerItem</item>
<item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item>
</style>
<!-- Item selected font. -->
<style name="SpinnerItem" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:fontFamily">casual</item>
</style>
<!-- Dropdown options font. -->
<style name="SpinnerDropDownItem" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:fontFamily">casual</item>
<item name="android:padding">8dp</item>
</style>
<resources>
Run Code Online (Sandbox Code Playgroud)
重要提示:有时您在 Android 中寻找的样式属性名称与 React Native 中使用的不同。例如,您可能需要使用定位android:gravity而不是flex。因此,您可能需要在 Android 上搜索专用的 XML 标记属性以对其进行样式设置。考虑到这一点,在 React Native 中color为文本字体android:textColor进行翻译是针对 Android 的。
有用的链接:
要更改文本颜色,背景颜色,字体大小和其他其他内容(例如边距和填充),可以使用如下所示的“ itemStyle”:
<Picker
selectedValue={this.state.selectedItem}
style={{ height: 100, width: 200 }}
onValueChange={this.onChangeItem}
itemStyle={{ backgroundColor: "grey", color: "blue", fontFamily:"Ebrima", fontSize:17 }}
>
{cityItems}
</Picker>
Run Code Online (Sandbox Code Playgroud)
快乐的编码:)
只需在 TouchableOpacity 中添加选择器并将样式应用到 TouchableOpacity。
例子:-
<TouchableOpacity style={[style.textFieldSmall, style.textInput]}>
<Picker
style={{color: '#fff', placeholderTextColor: '#fff'}}
selectedValue={this.state.choosenLabel}
onValueChange={
(itemValue, itemIndex) => this.setState({
choosenLabel: itemValue,
choosenindex:itemIndex})
}
>
<Picker.Item label="Purchase" color="white" value="Purchase" />
<Picker.Item label="YES" value="YES" />
<Picker.Item label="NO" value="NO" />
</Picker>
</TouchableOpacity>
Run Code Online (Sandbox Code Playgroud)
小智 0
您应该尝试backgroundColor而不是颜色: https ://facebook.github.io/react-native/docs/view.html#style
| 归档时间: |
|
| 查看次数: |
33207 次 |
| 最近记录: |