我在React Native上使用android上的TextInput时遇到问题 我使用以下代码。
导出默认类App扩展组件{ render(){ 返回(
<div id="plotSO">
<script type="text/javascript">
var svg = dimple.newSvg("#plotSO",900, 500),
chart=null,
s1=null,
s2=null,
s3=null,
x=null,
y1=null,
y2=null,
y3=null;
chart = new dimple.chart(svg);
chart.setBounds(100, 100, 510, 305);
x = chart.addMeasureAxis("x", "group");
x.showGridlines = true;
x.overrideMin = 1;
y1 = chart.addMeasureAxis("y", "value");
y2 = chart.addMeasureAxis("y", "value");
y3 = chart.addMeasureAxis("y", "value");
s1 = chart.addSeries( "group", dimple.plot.line,[x,y1]);
s1.interpolation = "cardinal";
s1.lineMarkers=true;
s1.data=[{"group":1,"metric":"m1","value":112.5002},{"group":2,"metric":"m1","value":166.2608},{"group":3,"metric":"m1","value":164.3132}] ;
y1.title="y1-title";
s2 = chart.addSeries( "group", dimple.plot.line,[x,y2]);
s2.interpolation = "cardinal";
s2.lineMarkers=true;
s2.data=[{"group":1,"metric":"m2","value":155.4},{"group":2,"metric":"m2","value":162.4},{"group":3,"metric":"m2","value":152.9}] ;
y2.title="y2-title";
s3 = chart.addSeries( "group", dimple.plot.line,[x,y3]);
s3.interpolation = "cardinal";
s3.lineMarkers=true;
s3.data=[{"group":1,"metric":"m3","value":0.0451},{"group":2,"metric":"m3","value":0.0275},{"group":3,"metric":"m3","value":0.0226}] ;
y3.title="y3-title";
chart.draw();
</script>
</div>
} }
然后显示以下屏幕:
screenshot before tap TextInput
当我点击TextInput视图时,出现屏幕,就像使用keyboardavoidingview一样。
screenshot after tap TextInput
它在android上,但是在ios上没有任何作用。 我没有使用任何其他组件。
我的package.json如下:
</View>
);
在Android上,尽管我从未使用过该组件,但为什么会有类似使用KeyboardAvoidingView的效果? 为什么在ios上还可以呢? 听到您的进步我感到非常高兴。 谢谢。
答案 0 :(得分:1)
无论何时使用TextInput
,建议您将Scrollview
作为带有道具keyboardShouldPersistTaps="always"
的父视图。每当键盘弹出时,这将创建均匀性。
已编辑:
<View style={{flex:1}}>
<ScrollView keyboardShouldPersistTaps="always">
<View style={{paddingTop:20}}> //Inside ScrollView flex doesn't work so use padding to control spacing
// Add your <TextInput> Tag here !!
</View>
</ScrollView>
</View>
希望我能为您提供帮助。