Ich löste dies durch die onLayout
Stütze verwendet wird, ist es sehr einfach:
Beispiel:
Schritt 1: Ich habe eine Stütze in unserem Staat zu schaffen, der die aktuelle Höhe halten wird des BildescurImgHeight
genannt.
constructor(){
super(props);
this.state={curImgHeight:0}
}
Schritt 2: Mit der in jedem prop View
oder Element
, die die onLayout
prop unterstützt.
Hier verwende ich es mit einem Image
. Dann müssen wir diese Zustandseigenschaft nur dann ändern, wenn die tatsächliche Bildhöhe kleiner als unsere Mindesthöhe ist.
render(){
<Image
source={{uri: "https://placehold.it/350x150"}}
resizeMode='cover'
style={[styles.image, {height:(this.state.curImgHeight<=0?null:this.state.curImgHeight)}]}
onLayout={(e)=>{
let {height} = e.nativeEvent.layout;
let minimumImgHeight = 400; //We set the minimum height we want here.
if(height<= minimumImgHeight){ //Whenever the real height of the image is less than the minimum height
this.setState({curImgHeight:minimumImgHeight}); //just change the curImgHeight state property to the minimum height.
}
}}
/>
}
Das ist, wie ich es für mich gelöst habe.
ps.s: Während meiner Suche habe ich festgestellt, dass die Reaktion native inoffiziell unterstützt minHeight
und maxHeight
aber nur für iOS und nicht für Android. Ich würde es jedoch nicht wagen, sie zu benutzen. Der obige Code funktioniert gut und gibt mir Kontrolle.
Was ist Ihr Anwendungsfall für min-Breite und min-Höhe?Vielleicht können Sie Breite/Höhe dynamisch festlegen, so dass es nie unter dem Ziel Minimum –
Ich möchte min-width für Schaltfläche festlegen, ich möchte eine Schaltfläche mit einer minimalen Breite sogar sein Text ist sehr kurz –