react-native-sortable-grid
react-native-sortable-grid copied to clipboard
itemHeight didn't work
I set itemHeight property, but it didn't work,
@zim-lee we can't really help you if you don't even copy paste a snippet of your code.
@harrisrobin the example code can be review
+1 itemHeight doesn't change a thing. I have both itemsPerRow and itemHeight set -- blocks are always squares.
FYI: I was just being stupid. I used property blockWidth instead of itemWidth.
+1 this is not working for me either. I've set itemsPerRow which works perfectly but itemHeight doesn't do anything. @tqc any advice?
<SortableGrid
itemsPerRow={2}
itemHeight={50}
>
This is in ollija/react-native-sortable-grid/index.js
console.log("Calculating grid size");
`if (this.props.itemWidth && this.props.itemWidth < nativeEvent.layout.width) {`
this.itemsPerRow = Math.floor(nativeEvent.layout.width / this.props.itemWidth)
this.blockWidth = nativeEvent.layout.width / this.itemsPerRow
this.blockHeight = this.props.itemHeight || this.blockWidth
}
else {
this.blockWidth = nativeEvent.layout.width / this.itemsPerRow
this.blockHeight = this.blockWidth
}
if (this.state.gridLayout != nativeEvent.layout) {
this.setState({
gridLayout: nativeEvent.layout,
blockWidth: this.blockWidth,
blockHeight: this.blockHeight
})
}
}
First, itemHeight dosen't work without itemWidth
Second,
In first Conditional branch,
if (this.props.itemWidth && this.props.itemWidth < nativeEvent.layout.width) {
It seems that your itemWidth must be smaller than nativeEvent.layout.width
.
So you should add itemWidth and try various numbers on itemWidth.
<SortableGrid
blockTransitionDuration={200}
activeBlockCenteringDuration={200}
itemWidth={100}
itemHeight={84}
dragActivationTreshold={300}
onDragRelease={ (itemOrder) => console.log("Drag was released, the blocks are in the following order: ", itemOrder) }
onDragStart={ () => console.log("Some block is being dragged now!") } >
This is works on my app. Changed to a rectangle.
The code on NPM is not the latest, cope the index.js from GitHub it's worked
@masary2989 's answer just save my life.
Hi, Can you please update this code for dynamic width... Like 75% & 25% of elements in single row.