Javascript 打开lightBox后如何增加图像宽度?
我使用的是图像查看器,当我打开图像时,我想要全屏显示,但它不能做到这一点;它只是在打开之前采用默认宽度。我使用宽度和高度作为状态,并且在打开lightbox时更新值,但这不起作用(它给出了错误“lightbox未工作”)。因此,我如何处理这些图像以获取全宽和全高Javascript 打开lightBox后如何增加图像宽度?,javascript,html,css,reactjs,react-native,Javascript,Html,Css,Reactjs,React Native,我使用的是图像查看器,当我打开图像时,我想要全屏显示,但它不能做到这一点;它只是在打开之前采用默认宽度。我使用宽度和高度作为状态,并且在打开lightbox时更新值,但这不起作用(它给出了错误“lightbox未工作”)。因此,我如何处理这些图像以获取全宽和全高 import React,{Component,Fragment}来自“React”; 从“react native firebase”导入firebase; 从“反应本机矢量图标/离子图标”导入图标; 从“react native
import React,{Component,Fragment}来自“React”;
从“react native firebase”导入firebase;
从“反应本机矢量图标/离子图标”导入图标;
从“react native Lightbox”导入Lightbox;
进口{
看法
文本,
样式表,
可触摸不透明度,
形象,,
平面列表,
滚动视图,
尺寸
}从“反应本族语”;
const{width,height}=Dimensions.get(“窗口”);
类GalleryScreen扩展组件{
建造师(道具){
超级(道具);
此.state={
图像:[],
宽度X:宽度/3-17,
高度X:110,
柔性版:0
};
}
componentDidMount(){
const uid=firebase.auth().currentUser.uid;
火基
.数据库()
.ref(`providers/${uid}`)
.on(“值”,快照=>{
让uri=snapshot.val().Images;
让图像=[];
Object.values(uri).forEach(img=>{
push({uri:img.uri});
});
this.setState({images});
});
}
render(){
返回(
{
返回(
);
}}
keyExtractor={(项,索引)=>index.toString()}
/>
{/* + */}
);
}
}
导出默认GalleryScreen;
const styles=StyleSheet.create({
容器:{
弹性:1,
背景颜色:“F1F1”
}
});
您需要为图像的外部容器intead设置大小,并为图像提供100%的宽度和高度,以便当灯箱显示时,图像将采用全屏大小
<TouchableOpacity
key={Math.floor(Math.random() * 100)}
style={{ margin: 5, width: width / 3 - 17, height: 110 }}
>
<Lightbox
underlayColor="#fff"
style={{ flex: 1 }}
backgroundColor="#001"
>
<Image
source={{ uri: item.uri }}
style={{
borderRadius: 15,
width: "100%",
height: "100%"
}}
resizeMethod="resize"
resizeMode="cover"
/>
</Lightbox>
</TouchableOpacity>
lightBox的属性名为(
activeProps
)。要使图像全屏显示,只需删除style={{{flex:1}
。并添加该属性。如下设置其值:
activeProps={{width: '100%', height: '100%'}}
作为参考检查:您应该将此“宽度/3-17”移动到外部渲染,以避免每次调用渲染时都重新计算Hank u,但我得到的是没有任何图像的空白屏幕,如[@CuongTransduct这是我的错,现在我得到了这个?那么如何强制lightbox全屏显示“lightbox background it's blue”,请看这个,当我将resizeMode更改为“contain”时,库中的每个图像都有一个不同的宽度和高度,那么如何在渲染时强制它们采用默认的宽度和高度,如您在这里看到的@CuongTranDuc@OliverD如果lightbox没有全屏显示,可能是图书馆的问题,您所说的强制图像采用默认的宽度和高度,它将在整个路线上伸展r带有resizeMode封面的容器(不保留比例大小)或缩小resizeMode包含的容器内部(保留比例)
activeProps={{width: '100%', height: '100%'}}