当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
8 Star 0 Fork 0

OpenHarmony-SIG/rntpc_react-native-view-overflow
关闭

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

🚨 重要提示 | IMPORTANT

⚠️ 此代码仓已归档。新地址请访问 rntpc_react-native-view-overflow。| ⚠️ This repository has been archived. For the new address, please visit rntpc_react-native-view-overflow.


react-native-view-overflow

React Native Version Notice

This library will be useful for React Native versions below v0.57. For v0.57 and beyond, React Native supports Android overflow natively from this commit.

Motivation

The problem is that a parent View in Android will clip the content of children Views (react-native)

This solves the problem of Overflow on Android (check this https://github.com/facebook/react-native/issues/16951)

This could make code simpler, so you don't need to move some Components outside parents to make layout work

You can read more about the motivation and this package here https://medium.com/@sibelius/solving-view-overflow-in-android-reactnative-f961752a75cd

Getting started

Steps to (mostly) automatically install react-native-view-overflow

If you are using react-native >=0.60.0

$ npm install react-native-view-overflow --save

Otherwise, if you are using react-native <0.60.0

$ npm install react-native-view-overflow --save

$ react-native link react-native-view-overflow

Usage

import ViewOverflow from 'react-native-view-overflow';

<ViewOverflow>
    <ComponentToEnableOverflow />
</ViewOverflow>

Usage with Flatlist

To make this work with FlatList and related components you need to replace CellRendererComponent with ViewOverflow, for example:

<FlatList
  data={this.state.data}
  keyExtractor={item => item.id}
  CellRendererComponent={ViewOverflow}
  renderItem={({ item, index }) => (
      <ViewOverflow style={styles.item}>
      // item....
      </ViewOverflow>
   )}
/>

Usage with Animated Views

To make this work in place of an Animated.View, you need to use Animated.createAnimatedComponent to create an animatable version of ViewOverflow. For example:

import ViewOverflow from 'react-native-view-overflow';
const AnimatedViewOverflow = Animated.createAnimatedComponent(ViewOverflow);

You can then use AnimatedViewOverflow in place of Animated.View.

Manual installation

  1. Open up android/app/src/main/java/[...]/MainApplication.java
  • Add import com.entria.views.RNViewOverflowPackage; to the imports at the top of the file
  • Add new RNViewOverflowPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-view-overflow'
    project(':react-native-view-overflow').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-view-overflow/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-view-overflow')
    
MIT License Copyright (c) Facebook, Inc. and its affiliates. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openharmony-sig/rntpc_react-native-view-overflow.git
git@gitee.com:openharmony-sig/rntpc_react-native-view-overflow.git
openharmony-sig
rntpc_react-native-view-overflow
rntpc_react-native-view-overflow
master

搜索帮助