我有一个。net maui 7 Android应用程序,我使用外部条形码扫描器。
我有一个条目,它接收条形码扫描的代码。
<Entry x:Name="MyEntry" TextChanged="TextChanged_EH"></Entry>
软键盘已禁用。
我需要扫描以下40个字符的代码:{"a"; "a","x";HBXjfOQrAL9Z8GF","l"; "1"}
我测量条目中代码的编写时间,如下所示:
void TextChanged_EH(object sender, EventArgs e)
{
if (this.MyEntry.Text == "{")
{
stopwatch.Start();
}
if (this.MyEntry.Text.Length > 1)
{
string myString = this.MyEntry.Text;
string lastChar = myString.Substring(myString.Length - 1, 1);
if (lastChar == "}")
{
stopwatch.Stop();
this.Label.Text = stopwatch.ElapsedMilliseconds.ToString();
}
}
}
扫描码的编写大约需要1500毫秒。
如果我改变条目的不透明度为:
<Entry x:Name="MyEntry" TextChanged="TextChanged_EH" Opacity="0" TextColor="Transparent"></Entry>
扫描码的写入大约需要800毫秒,这仍然很长。
最初使用外部条码扫描器而不是像zxing.net.maui这样的内部扫描插件的想法是速度。
我怎样才能加快写作的速度呢?理想情况下,我需要在100毫秒左右的时间内在条目中编写相同的代码。我不知道这是否可能。
大多数扫描器都可以设置,以发送终止字符。
通常是[LF]或[TAB]。
我说,从这里开始。
然后,您可以尝试使用其他事件(例如Entry Completed)。或者你可以试着拦截那些密钥。(DispatchKeyEvent等等)