我得到一个 TextInput,由于某种原因,它的初始起点位于中间,如图所示:
我怀疑文本输入认为第一行从那里开始,但我不知道如何告诉它
我希望它从左上角开始。
代码如下所示:
<View style={styles.desc}>
<Text style={styles.text}>Beskrivelse:</Text>
<TextInput style={styles.desctextinput}
multiline={true}
onChangeText={(newText) => {
let obj = this.state.data;
obj.description = newText;
this.setState({data: obj});
}}
onBlur={() => {
console.log(this.state.data.description)
}}
/>
</View>
const styles = StyleSheet.create({
text: {
fontSize: 16,
fontWeight: 'bold'
},
desc: {
flexDirection: 'column',
paddingVertical: 10,
paddingHorizontal: 15,
height: 300
},
desctextinput: {
flex: 1,
borderWidth: 1,
paddingTop: 5,
paddingLeft: 5,
borderColor: '#f7f7f7'
}
});
Run Code Online (Sandbox Code Playgroud) 我正在 React Native 中创建聊天 UI,其中我希望第一部分(显示消息的地方)应该是可滚动的。
应TextInput
位于屏幕底部,键盘应位于其后面。
用户界面类似于 WhatsApp 聊天屏幕。但我无法重新创建该用户界面。
我也尝试KeyboardAvoidingView
过react-native
,但它对我来说不起作用。
import React, { useEffect, useState } from "react";
import {
ScrollView,
View,
Text,
Alert,
Dimensions,
Platform,
KeyboardAvoidingView,
TextInput,
TouchableOpacity,
} from "react-native";
import { Ionicons } from "@expo/vector-icons";
const App = () => {
const [message, setMessage] = useState([]);
return (
<View
style={{
display: "flex",
flex: 1,
justifyContent: "space-evenly",
alignItems: "center",
height: Dimensions.get("window").height,
width: Dimensions.get("window").width,
}}
>
<View
style={{
height: Dimensions.get("window").height * 0.8, …
Run Code Online (Sandbox Code Playgroud) 我想重新发明HTML中的密码输入.
好的,这是我做过的工作:
http://www.symplik.com/password.html (它只是一个简单的HTML代码,没有什么真正的花哨:>)
"密码"确实是一个文本输入,我使用onkeyup事件将输入重写为屏蔽字符.
有两个问题:(1)退格或删除无法检测到(2)如果输入速度非常快,有些字符无法及时捕获.
对于问题(1).通过检查密码字段中的文本长度和存储的密码可以部分解决问题.反正不是一个非常优雅的解决方案.
对于问题(2),我试图在它们之间插入一些时间延迟功能但仍然失败.我会在每个keyUp后使字段readOnly,但它仍然表现相同.
我有一个特殊的问题.我需要使用python(从txt文件中)读取那些存在于预定义偏移范围内的子串.让我们说5-8和12-16.
例如,如果文件中的行是这样的:
abcdefghi akdhflskdhfhglskdjfhghsldk
Run Code Online (Sandbox Code Playgroud)
然后我想读两个词 - "efgh"和"kdhfl".因为,在单词"efgh"中,字符"e"的偏移量为5,"h"的偏移量为8.类似地,另一个单词"kdhfl".
请注意,空格也会增加偏移量.事实上,我文件中的空格在每一行都不是"一致的",并且不能依赖于提取感兴趣的单词.这就是为什么,我必须依靠补偿.
我希望我能够清楚地提出这个问题.
等待答案!
编辑 -
是的,每行中的空白量也可以改变并计算偏移量.例如,考虑这两行 -
abcz d
a bc d
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我都将最终字符"d"的偏移视为相同.正如我所说,文件中的空格不一致,我不能依赖它们.我需要根据他们的偏移量来拾取角色.你的答案仍然有效吗?
我正在编写一个程序,其中一个部分要求程序打印文件中有多少个字符(包括空格).我现在的代码虽然每次都返回0,但我不确定为什么它不计算字符.
public int getcharCount(Scanner textFile) {
int count = 0;
while(textFile.hasNext()) {
String line = textFile.nextLine();
for(int i=0; i < line.length(); i++)
count++;
}
return count;
}
Run Code Online (Sandbox Code Playgroud)
编辑:我的程序的规格说我应该使用扫描仪.虽然我不确定,但我不相信它会进入for循环.当我使用相同的技术来计算文件中的行数时,它完美地工作.该代码是:
public int getLineCount(Scanner textFile) {
int lineCount = 0;
while(textFile.hasNext()) {
String line = textFile.nextLine();
lineCount++;
}
return lineCount;
}
Run Code Online (Sandbox Code Playgroud)
我们不需要检查该行是否包含任何内容.如果它出现在文本文件的中间,则应将其计为一个字符.
我有一个ListView与包含ImageView和EditText的项目.当我触摸EditText时,它会获得焦点,出现虚拟键盘,当键盘上方出现建议时,EditText会失去焦点(并且建议会消失).
这发生在Android 2.3(模拟器和HTC Hero)上,并在另一个非2.3设备(可能是Galaxy S 2.2)上报告.拥有2.2和2.1罗姆斯的HTC Hero没有这个问题......
任何想法如何摆脱这种行为?
编辑:
如果我重写ListView的onSizeChanged而不调用super.onSizeChanged,焦点不会丢失(但是引入了很多其他错误......)
在我的表单中,我有一个只读字段.该字段的内容将由java脚本填充,并取决于可编辑字段的输入.为了避免用户修改字段数据,我想将其标记为只读.
当我在forms.py中将该字段标记为只读时
'key': forms.TextInput(attrs={'disabled':'disabled'}),
Run Code Online (Sandbox Code Playgroud)
该字段的内容似乎是只读的,但不会被提交.当我尝试阅读form.cleaned_data ['key']时出现以下错误:
Exception Type: MultiValueDictKeyError
Exception Value: "Key 'key' not found in <QueryDict: ...>
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法将字段标记为Django表单中的"只读"而不是"禁用"?
谢谢你的建议!
我有一个AJAX驱动的表单,更像是一个5步向导.在最后提交数据之前,不会刷新页面.
在较早的步骤中,将值输入到HTML文本字段中,并且我希望在最后一页的另一个文本框中显示相同的值,因为他们在发送之前查看其提交的最终详细信息.
我认为它需要用onChange事件来完成,但我似乎无法让它完全运行,我是一个PHP开发人员,所以我仍然在研究我的jQuery技能.这是我写的代码没有成功:
<script type="text/javascript">
$(document).ready(function() {
$("#textbox1").change(function()
{
var text = $("#textbox1").val();
$("#textbox2").html(text);
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
先谢谢你们.
如果我在 textInput 中输入超过 10 个字符,我想要第二行。如果输入超过 5 个字符,我已经更改了文本的字体大小。这是工作正常。
但是如果我输入超过 11 个字符,它应该会出现在第二行
请帮我清除这个
这是我的代码...
_onChangeText(text) {
this.setState({ fontSize: (text.lenght > 6 ? 40 : 80) });
}
render() {
return (
// Giving an array of objects to style property can help
you to define a default value
<TextInput
onChangeText={this._onChangeText.bind(this)}
style={[ {fontSize: 80}, {fontSize: this.state.fontSize} ]}
/>
)
}
Run Code Online (Sandbox Code Playgroud)