Ich habe derzeit ein Bild in einem TouchableOpacity-Tag eingewickelt. Das Bild besteht aus einem Sound-Symbol, und wenn der Benutzer darauf klickt, möchte ich, dass das Symbol zwischen dem "Ton ein" -Symbol und dem "Ton aus" -Symbol wechselt. Der entsprechende Code ist unten zu sehen. Ich mache mir noch keine Gedanken über den Toggle-Teil davon, ich würde nur gerne das Bild wechseln können, wenn ich darauf tippe.Änderung reagieren Native Image-Quelle beim Klick
Simplified Code ist unten:
const soundImg = require('../images/sound.png');
const muteImg = require('../images/sound-mute.png');
class HomeScreen extends Component {
static navigationOptions = {
header: null,
};
render(){
let imageXml = <Image
style={ homeStyles.optionsImage }
source={ gearImg }
/>;
return (
<View style={ commonStyles.container }>
<View style={ commonStyles.footer }>
<TouchableOpacity
style={ homeStyles.soundButton }
onPress={() => imageXml.source = { muteImg } }>
{ imageXml }
</TouchableOpacity>
</View>
</View>
);
}
}
Die Bildquelle im Status speichern und einen setState() mit neuer Bildquelle beim Drücken der Taste ausführen. Dadurch wird die Komponente erneut gerendert und Sie können das neue Bild aus dem Status festlegen. –