有没有办法在 Android O 版本以上的 Activity 中显示键盘?我有以下代码:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
Run Code Online (Sandbox Code Playgroud)
它“仅”适用于以下 Android O 版本。
我试图让我的 TextField 仅接受使用keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text)以下字符:
TextField(
value = query3.value,
onValueChange = { newValue ->
query3.value = newValue
},
singleLine = true,
label = {
Text(
"Bank name",
color = colorResource(id = R.color.bright_green),
fontFamily = FontFamily(Font(R.font.poppins_regular)),
fontSize = with(LocalDensity.current) { dimensionResource(id =
R.dimen._12ssp).toSp() },
)
},
interactionSource = interactionSource,
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Text),
.
.
.
Run Code Online (Sandbox Code Playgroud)
但软键盘仍然允许输入数字。如何让软键盘只允许输入字符?
android textfield android-softkeyboard android-jetpack-compose
我注意到横向模式下软键盘的文本与我在纵向模式下的EditText字段中看到的字符不相同.我为EditText使用keylistener只接受特殊字符:
private class MyKeylistener extends NumberKeyListener {
public int getInputType() {
return InputType.TYPE_CLASS_NUMBER;
}
@Override
protected char[] getAcceptedChars() {
return new char[] {'0','1','2','3','4','5','6','7','8','9',',','-'};
}
};
Run Code Online (Sandbox Code Playgroud)
当我在横向模式下键入","时,我在软键盘文本中看不到它,但当我将屏幕翻转为纵向模式时,它会出现在EditText中.如何使软键盘文本显示所有允许的字符?我附上一张图片来说明我的意思,EditText是"34,37,39":

......任何方式这样做?
我正在开发一个游戏项目,公共场所展示iPad,玩家可以输入他们的名字和电子邮件到评分提交表单.但是,如果设备在此之后无人看管120秒,它将自动返回标题屏幕.问题是如果在软键盘仍然打开时发生这种情况,如果发生超时并且之后仍然显示文本字段和键盘(直到某人手动关闭它),它将不会关闭.毋庸置疑,这是非常糟糕的.还没有找到任何API.也许有一个解决方法?将焦点设置为其他东西似乎并没有削减它.
我做了一个FragmentActivity.一些碎片包括一个EditText.
我想,当软输入键盘启动并MotionEvent发生时 - 除了在EditText内部单击的事件 - 要隐藏的软输入.到现在为止,我在MainActivity中编写了这段代码:
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
InputMethodManager im = (InputMethodManager) getApplicationContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
return super.dispatchTouchEvent(ev);
}
Run Code Online (Sandbox Code Playgroud)
它似乎工作.但是当我在EditText中单击时,它会隐藏并再次出现.我不希望这种情况发生.在这种情况下,我希望键盘只是保留在屏幕上.
dispatchTouchEvent()当我点击Fragment里面的EditText时,有什么方法可以禁用吗?
有没有办法检测其中的EditText的click事件dispatchTouchEvent()并在那里创建条件,这会禁用隐藏的软输入?
你好,我有一个 xml,其中我有 2 个编辑文本和列表视图,当我单击编辑文本键盘时会出现但编辑文本会隐藏我想在键盘出现时将它们向上推我尝试了所有解决方案但没有人在我的情况下工作我做了 adjustpan 和 adjustresize两者但不能完成我的任务下面是我的xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scnanningscreen_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ToggleButton
android:id="@+id/onoff_switch"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="15dp" />
<ImageView
android:id="@+id/qrcode_img"
android:layout_width="150dp"
android:layout_height="200dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="24dp"
android:src="@drawable/ab_bottom_solid_tabsstyle"
android:visibility="invisible"
/>
<TextView
android:id="@+id/txtscannerstatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/qrcode_img"
android:layout_alignParentLeft="true"
android:layout_marginBottom="21dp"
android:layout_marginLeft="16dp"
android:text="Scanner Status:"
android:textSize="20sp" />
<EditText
android:id="@+id/etxtrunner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/txtrunner"
android:layout_alignBottom="@+id/txtrunner"
android:layout_alignRight="@+id/qrcode_img"
android:layout_alignParentRight="true"
android:background="@drawable/editbox_roundedcorner"
android:ems="10"
android:layout_margin="8dp"
android:imeOptions="actionNext"
android:singleLine="true"
android:minHeight="30dp" />
<EditText
android:id="@+id/etxtposition"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/txtposition"
android:layout_alignBottom="@+id/txtposition"
android:layout_alignLeft="@+id/etxtrunner"
android:background="@drawable/editbox_roundedcorner"
android:ems="10"
android:imeOptions="actionDone"
android:inputType="number"
android:singleLine="true"
android:minHeight="30dp" >
</EditText>
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="110dp"
android:layout_height="178dp"
android:layout_alignParentRight="true"
android:layout_marginRight="7dp" …Run Code Online (Sandbox Code Playgroud) android android-layout android-softkeyboard android-listview android-edittext
当我面临与 Android 4.4 Samsung Galaxy TabS 相关的关于 <input type="number"> 的问题时,该问题没有暴露键盘中的点键(因此阻止用户输入十进制值),我需要有条件地设置 type=" text”对于这样的设备,我应该怎么做,因为以下不起作用?
<input type="{{device.isAndroid?'text':'number'}}">
Run Code Online (Sandbox Code Playgroud) 我的一些活动由3个垂直布局的片段组成(顶部,中间和底部)
中间片段是包装在滚动视图中的唯一片段。顶部和底部片段是静态的。底部片段具有用于用户输入的编辑文本控件。从上到下的片段权重分别为.1,.6和.3
当出现软键盘以供用户输入时,软键盘将覆盖用户需要在其中输入文本的编辑文本字段。似乎碎片向上移动,但不够用,底部碎片的一半被键盘覆盖了。我使用了多个带有windowSoftInputMode属性的开关,但似乎没有一个起作用。
windowSoftInputMode =“ adjustResize | stateHidden” windowSoftInputMode =“ adjustPan”
显示软键盘时,如何保证至少底部片段是完全可见的?我需要做什么?
android android-softkeyboard android-fragments android-layout-weight
我正在开发一个库存管理应用程序,并希望使用 kitkat 平板电脑作为最终用户设备。我使用 USB 条形码阅读器,效果很好。
我的问题是,一旦插入条形码读取器,它就会被识别为真正的键盘,并且我无法再访问虚拟键盘。这对我来说是一个大问题,因为我只使用条形码阅读器来读取条形码,并且需要旁边的软键盘......
但是当我使用棉花糖时,条形码阅读器和虚拟键盘就可以正常工作了。但奇巧和棒棒糖却不能正常工作。
有什么办法可以同时启用虚拟键盘和真实键盘吗?我真的需要这方面的帮助......
谢谢 !
[Xamarin.Forms 2.5.0.91635] [Android 5,6,7,8]
我有一个页面,其中包含一个包含输入条目和标签的列表视图.我的问题是在Android中,点击第一个或第二个条目时,会出现键盘.我希望它向下滚动页面以选择最后一个条目,但我无法看到(或聚焦)最后一个条目,因为它与软键盘重叠.当软键盘启用/可见时,我无法滚动到最后一个条目,因为软键盘隐藏了最后一个键盘.当我隐藏/禁用软键盘时,我可以滚动到最后一个条目,但我不想要这个!
我在互联网上搜索并尝试了很多,但没有任何作用.
解决方案没有奏效: https://gist.github.com/jimmgarrido/e36033b26f01e8da091fd321d41d991a xamarinformscorner.blogspot.nl/2016/06/soft-keyboard-hiding-entries-fields-in.html HTTPS://forums.xamarin .COM /讨论/ 62668 /程序兼容性-不-不调整大小,屏幕与键盘
<ContentPage.Content>
<ScrollView>
<StackLayout x:Name="StackLayoutButtons" HorizontalOptions="Center" Orientation="Horizontal">
<Button x:Name="PreviousButton" WidthRequest="35" FontSize="23" FontAttributes="Bold" Clicked="PreviousButton_OnClicked"></Button>
<Button x:Name="DatePickerButton" FontSize="20" Clicked="DatePickerButton_OnClicked"></Button>
<DatePicker x:Name="DatePicker" Format="dddd d MMMM yyyy" VerticalOptions="Center" HorizontalOptions="FillAndExpand" IsVisible="False" IsEnabled="False"/>
<Button x:Name="NextButton" WidthRequest="35" FontSize="23" FontAttributes="Bold" Clicked="NextButton_OnClicked"></Button>
<Button x:Name="LastButton" WidthRequest="50" FontSize="23" FontAttributes="Bold" Clicked="LastButton_OnClicked"></Button>
</StackLayout>
<ListView x:Name="ListViewItemPage" ItemTapped="ListView_OnItemTapped">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<RelativeLayout x:Name="RelativeLayout" >
<Label x:Name="DescriptionLabel" Text="{Binding Description}" RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Y, Factor=0, Constant=15}" RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=X, Factor=0, Constant=15}" />
<Entry x:Name="Entry" …Run Code Online (Sandbox Code Playgroud)