0
我目前有一個圖像包裝在一個TouchableOpacity標籤內。圖像是一個聲音圖標,當用戶點擊它時,我希望圖標在「聲音開啓」圖標和「聲音關閉」圖標之間切換。相關的代碼可以在下面看到。我並不擔心它的切換部分,我只是想在點擊它時切換圖像。更改反應原生圖像源點擊
簡化代碼如下:
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>
);
}
}
將圖像源存儲在狀態中,並在按下按鈕時用新圖像源執行setState()。這將重新渲染組件,您可以從狀態設置新的圖像。 –