اذهب إلى المحتوى
  • 0

الحصول على حجم المكون نفسه React Native

عمر سالم2

السؤال

كيف أحصل على حجم View موجود في التطبيق؟ حاولت استخدام Dimensions ولكنها لم تعمل؟

function App() {
	const viewRef = useRef(null);

	const computeSize = event => {
		console.log(viewRef.style.width, viewRef.style.height);
	};

	return (
		<View ref={viewRef}>
			<Button title="Get Size" onPress={computeSize} />
		</View>
	);
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يمكنك استخدام الخاصية "onLayout" حيث يتم استدعاؤها عند تركيب المكون وعند كل تغيير.

import * as React from 'react';
import { Text, View, StyleSheet } from 'react-native';

export default function App() {
  const [dimensions, setDimensions] = React.useState({
    width: 0,
    height: 0
  });
  const computeSize = event => {
    setDimensions({
      width: event.nativeEvent.layout.width,
      height: event.nativeEvent.layout.height
    });
  };
  return (
    <View style={styles.container} onLayout={computeSize}>
      <Text>Width: {dimensions.width}px</Text>
      <Text>Height: {dimensions.height}px</Text>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    borderColor: '#000',
    borderWidth: 1,
    padding: 12
  }
});

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك استخدام onLayout event handler بهذه الطريقة للحصول على حجم ال View

function App() {
  const viewRef = useRef(null);

  const getSize = (layout) => {
    const { x, y, width, height } = layout;
  	console.log(x);
    console.log(y);
    console.log(width);
    console.log(height);
  };

  return (
    <View onLayout={(event) => getSize(event.nativeEvent.layout)}>
      <Button title="Get Size" />
    </View>
  );
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...