2016-08-16 2 views
3

Ich wollte wissen, wie man die fontFamily setzt. Wie stelle ich die Farbe & Hintergrundfarbe auf den Picker.items ein?Wie style den reaktiven nativen Picker mit android styles.xml?

<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> 

ich posted this on Github und bekam die Antwort, die nur einige der Attribute gesetzt in der india Reagieren über den Stil werden können, aber einige der Kernelemente des Pickers (wie die verwendeten Schriftart) von nativen Android angetrieben. Es muss über native Android mit styles.xml etc. getan werden.

Leider bin ich kein natives Android Entwickler, so dass ich Probleme habe, die Lösung zu verstehen. Ich habe das folgende Snippet zu /res/values/styles.xml hinzugefügt, aber die Textfarbe oder der Hintergrund des Popups hat sich nicht geändert.

<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> 

Welche anderen Änderungen muss ich vornehmen? Wie stelle ich fontFamily ein?

Antwort

3

Das ist, weil Sie die Stile in Ihrem 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> 

Das ist es zu erklären, brauchen :)

+0

Danke. Wenn jemand interessiert ist - habe ich meinen Code hier gepostet: http://stackoverflow.com/a/39141949/2381508 –

+0

Wie würde ich den Modus auf Spinner setzen? React Native gibt keinen Zugriff darauf und ich möchte den Spinner anstelle des Kalenders verwenden. – Cobolt

+1

Haben Sie eine Idee, wie Sie bei der Expo darauf zugreifen können? –

Verwandte Themen