首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImageBackground ResizeMode

ImageBackground ResizeMode
EN

Stack Overflow用户
提问于 2017-07-26 10:05:36
回答 3查看 25.5K关注 0票数 14

我最近更新了React本机,它引入了一个警告,并使用了以下代码:

代码语言:javascript
复制
 <Image
      source={require('../../assets/icons/heart.png')}
      style={{
        resizeMode: 'contain',
        height: 25,
        width: 25
      }}
    >
      <Text>foobar</Text>
    </Image>

并警告:

不推荐使用与子级一起使用的index.ios.bundle:50435,并且在不久的将来会出现错误。请重新考虑布局或使用。

麻烦的是,当我使用ImageBackground组件时,它给了我一个警告:您不能在其中使用ResizeMode样式。

代码语言:javascript
复制
 <ImageBackground
      source={require('../../assets/icons/heart.png')}
      style={{
        resizeMode: 'contain',
        height: 25,
        width: 25
      }}
    >
      <Text>foobar</Text>
    </ImageBackground>

并警告:

警告:错误的道具类型:无效的props.style键'resizeMode‘提供给’视图‘。坏对象:{ ResizeMode:‘包含,高度: 25,宽度: 25}

你应该如何使用ImageBackgrounds?网上似乎没有关于它的任何文件。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-26 11:47:28

ImageBackground接受两种风格的道具--风格和imageStyle --它们(显然)分别应用于内部视图和图像。还值得注意的是,来自容器样式的高度和宽度值自动应用于图像样式。有关详细信息,请访问

票数 26
EN

Stack Overflow用户

发布于 2018-03-15 21:53:22

resizeMode: 'contain'移到内联style之外。

示例:

代码语言:javascript
复制
   <ImageBackground
          source={require('../../assets/icons/heart.png')}
          resizeMode= 'contain'
          style={{
            height: 25,
            width: 25
          }}
        >
        <Text>foobar</Text>
    </ImageBackground>
票数 19
EN

Stack Overflow用户

发布于 2017-08-02 14:14:29

我确实有过这个问题;我最终放弃了<ImageBackground>,回到使用<Image>,但删除了其中的元素。然后,我将整个过程封装在一个新的<View>标记中,并将<Image>完全定位在样式中。如果我的代码有用的话,我的代码就在这里结束了:

JSX

代码语言:javascript
复制
render() {
    return (
      <View style={{ alignItems: 'center' }}>
        <Image
          source={require('../images/pages/myImage.jpg')}
          style={styles.backgroundImage}
        />

风格

代码语言:javascript
复制
const { width: viewportWidth, height: viewportHeight } = Dimensions.get('window');

const styles = StyleSheet.create({

  backgroundImage: {
   flex: 1,
   position: 'absolute',
   resizeMode: 'cover',
   width: viewportWidth,
   height: viewportHeight,
   backgroundColor: 'transparent',
   justifyContent: 'center',
   alignItems: 'center'
  },
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45323765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档