android-edittext 相关问题

EditText是Android应用程序中的标准文本输入窗口小部件。如果用户需要在应用程序中输入文本,这是他们执行此操作的主要方式。

更改 Android EditText 背景颜色

我正在开发一个Android应用程序。 EditTexts 存在这个问题,因为在某些设备中“背景”是白色的(这就是我想要的方式),但在其他设备上是透明的,并且 ma...

回答 3 投票 0

如何使用TransformationMethod接口?

我想创建一个接受密码的EditText。我想在输入字符后立即隐藏该字符。所以我尝试实现TransformationMethod接口。 我是新来的。我尝试过

回答 2 投票 0

如何将动态字符串设置为android中Edittext字段的Id

我有多个动态出现的字符串,我想将这些字符串设置为表单中 EditText 字段的 Id。我该怎么做,你能帮我吗? 例如:如果我有 id“

回答 1 投票 0

按下用于检查用户答案的按钮时应用程序崩溃

您好,我正在尝试创建一个简单的数字猜测器应用程序,如果用户猜测的数字与随机数生成器匹配,则 textView 应输出“您已经正确猜测...

回答 1 投票 0

软键盘隐藏了一半的EditText

我有一个ListView,最后一个列表项包含EditText: 我有一个 ListView 并且最后一个列表项包含 EditText: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <RelativeLayout android:id="@+id/contentLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="30dp" android:orientation="vertical" > <ImageView android:id="@+id/test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/messageEditText" android:layout_below="@+id/messageEditText" android:layout_marginRight="14dp" android:src="@drawable/test" /> <EditText android:id="@+id/messageEditText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/sendImageButton" android:ems="10" android:gravity="top" android:hint="@string/messageEditText" android:inputType="textMultiLine" android:minHeight="55dp" android:paddingLeft="10dp" android:paddingRight="10dp" android:paddingTop="10dp" /> <ImageButton android:id="@+id/sendImageButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@id/messageEditText" android:layout_alignParentRight="true" android:layout_alignTop="@id/messageEditText" android:adjustViewBounds="true" android:maxHeight="55dp" android:maxWidth="55dp" android:padding="12dp" android:scaleType="centerInside" android:src="@drawable/sendmessage" /> </RelativeLayout> </RelativeLayout> EditText 的一半被隐藏。我也无法滚动ListView。有什么解决办法吗? 解决方案是在 Manifest 中将 android:softInputMode 属性设置为 adjustResize 并将布局(不是列表项布局)放入 ScrollView 中。 我遇到了类似的问题,然后我使用了android:windowSoftInputMode="adjustResize|stateHidden",如上所述这里..它对我来说非常有效.. 从我作为 Android 开发者的早期开始,我就一直在努力使用虚拟键盘。我很惊讶 Android 仍然没有为此提供一个优雅而清晰的解决方案。 所以这里有一个解决方法,可以让你摆脱这个混乱。它可以在没有 ScrollView 解决方法或放弃全屏标志的情况下工作。 将这个很棒的库添加到您的 gradle 文件中: 编译'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:1.0.1' 确保您的活动具有以下键盘设置: android:windowSoftInputMode =“调整调整大小” 用垂直的 LinearLayout 包裹你的 EditText 并添加一个可见性消失的视图: <com.ylimitapp.ylimitadmin.views.NormalFontEditText android:id="@+id/input_et" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textCapSentences|textMultiLine" android:imeOptions="actionSend" android:paddingStart="20dp" android:paddingEnd="40dp" android:paddingTop="10dp" android:maxHeight="120dp" android:adjustViewBounds= "true" android:scrollHorizontally="false" android:textColorHint="#7b7b7b" android:hint="@string/type_your_message" android:background="@drawable/msg_inputfield_bg" android:textColor="@color/black_text_color" android:textSize="15.33sp" /> <View android:id="@+id/keyboard_view" android:layout_width="match_parent" android:layout_height="20dp" android:visibility="gone" /> </LinearLayout> 计算屏幕尺寸,以便您可以计算推动 EditText 的视图的高度: private void storeScreenHeightForKeyboardHeightCalculations() { Rect r = new Rect(); View rootview = getActivity().getWindow().getDecorView(); rootview.getWindowVisibleDisplayFrame(r); mOriginalScreenHeight = r.height(); Rect rectangle = new Rect(); Window window = getActivity().getWindow(); window.getDecorView().getWindowVisibleDisplayFrame(rectangle); int statusBarHeight = rectangle.top; int contentViewTop = window.findViewById(Window.ID_ANDROID_CONTENT).getTop(); int titleBarHeight= contentViewTop - statusBarHeight; if (titleBarHeight == 0) { mOriginalScreenHeight -= (24 * Utils.getDensity(getContext())); } } 为键盘打开和关闭事件添加监听器,然后在运行时设置 EditText 下面的视图高度,以便我们在任何设备和自定义键盘上正确设置高度。然后只需在键盘打开时使其可见即可: private void addkeyBoardlistener() { KeyboardVisibilityEvent.setEventListener( getActivity(), new KeyboardVisibilityEventListener() { @Override public void onVisibilityChanged(boolean isOpen) { if (isOpen) { Rect r = new Rect(); View rootview = getActivity().getWindow().getDecorView(); // this = activity rootview.getWindowVisibleDisplayFrame(r); int keyboardHeight = (mOriginalScreenHeight - r.height()); LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) keyboard_view.getLayoutParams(); params.height = (int) ((keyboardHeight + 5 * Utils.getDensity(getContext()))); keyboard_view.setLayoutParams(params); keyboard_view.setVisibility(View.VISIBLE); } else { keyboard_view.setVisibility(View.GONE); } } }); } 这是结果: 在窗口启动时禁用键盘 this .getWindow().setSoftInputMode(WindowManager.LayoutParams. SOFT_INPUT_STATE_ALWAYS_HIDDEN ); 在清单中为 Activity 元素设置 android:softInputMode 属性。 请参阅 Manifest 文档,了解有效值及其效果的完整列表。您特别感兴趣的可能是 adjustPan 和 adjustResize。 将其添加到清单中,如下所示: <activity android:name="your_activity_name" android:windowSoftInputMode="adjustResize" android:theme="@style/Theme.AppCompat.DayNight.NoActionBar" /> 然后在布局中添加 paddingBottom="20dp" 并编辑文本。 Дуже важливо!!! В мене клавіатура зовсім не зміщувала жодного елементу вікна。 Коли з'являлась то приховувала все собою。 Я не міг знайти рішення цілий день。 getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); Це робить вікно без верхнього та нижнього барів,але це в той же час і не давало клавіатурі посунути вікно。 Гадаю це буде корисно тим хто шукав метод, щоб клавіатура не двигала елементи на екрані коли з'являється.

回答 7 投票 0

在 EditText 为空时设置 Text 0,并在用户开始在 Android Kotlin 中的 EditText 中输入值时删除该 0

当 EditText 为空时设置文本 0 和当用户开始在 EditText 中键入值时删除 Android kotlin 中的 0 我尝试过 Textwatcher afterTextChanged 并实现了多个条件,但没有...

回答 1 投票 0

Android Studio:无法在 EditText 中打开 .txt 文件 - 不断出现权限拒绝错误

在我的 Android 应用程序 Song_Tracker 中,我希望打开从笔记本电脑复制过来的 txt 文件 - 文件存储在 \Internal storage\DCIM\sheet_music 目录中,当我解析目录并加载时...

回答 1 投票 0

将编辑文本限制为单行

可能重复:android-singleline-true-not-working-for-edittext 可能重复:android-singleline-true-not-working-for-edittext <EditText android:id="@+id/searchbox" android:layout_width="fill_parent" android:layout_height="wrap_content" android:lines="1" android:scrollHorizontally="true" android:ellipsize="end" android:layout_weight="1" android:layout_marginTop="2dp" android:drawablePadding="10dp" android:background="@drawable/edittext" android:drawableLeft="@drawable/folder_full" android:drawableRight="@drawable/search" android:paddingLeft="15dp" android:hint="search..."> </EditText> 我想让上面的EditText只有单行。即使用户按“输入”,光标也不应该下降到第二行。有人可以帮我做吗? 使用 android:maxLines="1" 和 android:inputType="text" 您忘记了 android:maxLines 属性。并参考 android:inputType 根据您的示例,下面将给出以下结果: <EditText android:id="@+id/searchbox" android:layout_width="match_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" android:scrollHorizontally="true" android:ellipsize="end" android:layout_weight="1" android:layout_marginTop="2dp" android:drawablePadding="10dp" android:background="@drawable/edittext" android:drawableLeft="@drawable/folder_full" android:drawableRight="@drawable/search" android:paddingLeft="15dp" android:hint="search..."> </EditText> 不推荐使用 android:singleLine="true"。 只需添加您的输入类型并将 maxline 设置为 1,一切都会正常工作 android:inputType="text" android:maxLines="1" android:singleLine 现已弃用。来自文档: 此常量在 API 级别 3 中已弃用。 此属性已弃用。使用 maxLines 来更改静态文本的布局,并使用 inputType 属性中的 textMultiLine 标志来代替可编辑文本视图(如果同时提供了 singleLine 和 inputType,则 inputType 标志将覆盖 singleLine 的值)。 因此您可以设置 android:inputType="textEmailSubject" 或任何其他与字段内容匹配的值。 您必须在 xml 中的 EditText 中添加此行: android:maxLines="1" android:maxLines="1" android:inputType="text" 添加上述代码以在布局中的 EditText 标记中包含一行。 android:singleLine="true" is deprecated 此常量在 API 级别 3 中已被弃用。 此属性已弃用。使用 maxLines 来更改 静态文本的布局,并在 inputType 属性代替可编辑文本视图(如果两者都 提供了 singleLine 和 inputType,inputType 标志将 覆盖 singleLine 的值)。 现在 android:singleLine 属性已弃用。请将这些属性添加到您的 EditText 中,使 EditText 成为单行。 android:inputType="text" android:imeOptions="actionNext" android:maxLines="1" 这适用于 EditText: android:inputType="text" 然后我会设置输入文本的最大长度: android:maxLines="1" 这些是现在需要的 2 个。 我过去曾使用 android:singleLine="true" 完成此操作,然后为“enter”键添加监听器: ((EditText)this.findViewById(R.id.mytext)).setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) { //if the enter key was pressed, then hide the keyboard and do whatever needs doing. InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0); //do what you need on your enter key press here return true; } return false; } }); 包括android:singleLine="true" 每个人都在展示 XML 方式,除了一个人展示了调用 EditText 的 setMaxLines 方法。然而,当我这样做时,它不起作用。对我有用的一件事是设置输入类型。 EditText editText = new EditText(this); editText.setInputType(InputType.TYPE_CLASS_TEXT); 允许输入 A-Z、a-z、0-9 和特殊字符,但不允许按 Enter 键。当您按 Enter 键时,它将转到下一个 GUI 组件(如果适用于您的应用程序)。 您可能还想设置可以放入该 EditText 中的最大字符数,否则它将把右侧的任何内容推离屏幕,或者开始拖出屏幕本身。你可以这样做: InputFilter[] filters = new InputFilter[1]; filters[0] = new InputFilter.LengthFilter(8); editText.setFilters(filters); 这会将 EditText 中的最大字符数设置为 8。希望这一切对你有帮助。 您必须在 EditText 中添加此行 android:maxLines="1" 还有一件事,不要忘记设置android:inputType(无论你想要什么,短信,电话..,但你必须设置它) 以编程方式: textView.setMaxLines(1); 为了限制,您只需将单行选项设置为“true”即可。 android:singleLine="true" 使用 android:ellipsize="end" android:maxLines="1" @Aleks G OnKeyListener() 工作得非常好,但我从 MainActivity 运行它,因此必须稍微修改它: EditText searchBox = (EditText) findViewById(R.id.searchbox); searchBox.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) { //if the enter key was pressed, then hide the keyboard and do whatever needs doing. InputMethodManager imm = (InputMethodManager) MainActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(searchBox.getApplicationWindowToken(), 0); //do what you need on your enter key press here return true; } return false; } }); 我希望这可以帮助任何尝试做同样事情的人。 另外,要注意属性 android:inputType 是否为 textMultiLine。如果是这样,属性 android:singleLine、android:imeOptions、android:ellipsize 和 android maxLines 将被忽略,并且您的 EditText 无论如何都会接受 MultiLines。 将此行添加到您的编辑文本中 android:inputType =“文本” android:imeOptions="actionDone" 为我工作。 请尝试此代码 android:inputType="textPersonName" 使用下面的代码代替您的代码 <EditText android:id="@+id/searchbox" android:layout_width="fill_parent" android:layout_height="wrap_content" android:maxLines="1" android:inputType="text" android:scrollHorizontally="true" android:ellipsize="end" android:layout_weight="1" android:layout_marginTop="2dp" android:drawablePadding="10dp" android:background="@drawable/edittext" android:drawableLeft="@drawable/folder_full" android:drawableRight="@drawable/search" android:paddingLeft="15dp" android:hint="search..."/> 由于android:singleLine="true"现在已贬值所以使用 android:maxLines =“1” 使用 maxLines 来更改静态文本的布局,并使用 inputType 属性中的 textMultiLine 标志来代替可编辑文本视图(如果同时提供 singleLine 和 inputType,则 inputType 标志将覆盖 singleLine 的值)。 在 XML 文件中的编辑文本中添加此属性 android:maxLines="1" 对以上所有内容还有一条评论。如果您需要数字输入类型,只需使用 inputType="number"。但如果你使用android:digits="0123456789",你无法通过lines、maxLines、inputType等任何属性达到你需要的效果 android:singleLine="true" 机器人:maxLines =“1” 用于撰写 TextField( //.. maxLines = 1) 或 TextField( //.. singleLine = true) 在 XML 文件中。只需添加 android:maxLines="1" 对我来说,我这样做,转到 xml 文件中的 textView 并添加这两行 android:maxLines="1" android:inputType="text"`

回答 27 投票 0

在android kotlin中的textinput edittext中添加两个提示标签[关闭]

我想根据两个条件显示两个文本输入标签,当编辑文本未聚焦时显示“您的电子邮件地址”,当它聚焦时显示“电子邮件”,也适用于

回答 1 投票 0

EditText 在循环中不会像 chatGPT 那样显示文本

我想在获取数据的同时显示文本到edittext,但这只是最终显示数据。 这是代码 无效网络调用(字符串查询){ messageList.add(new MessageModel(...

回答 1 投票 0

EditText 椭圆形(三个点...)

不幸的是我无法为 EditText 作品制作椭圆形。当文本太长时,甚至可以在文本末尾添加三个点吗?它对于 TextiView 工作得很好,但不是......

回答 7 投票 0

编辑文本底部没有线条

我想让我的编辑文本字段没有底部的线条,就像这张图片一样 现在我的编辑文本看起来像这样 我该怎么办?

回答 4 投票 0

如何在Android中获取系统快捷键和用户定义的快捷键(如果有)列表

将外部键盘连接到我的 Android 设备时,我可以在 EditText 字段中使用键盘快捷键,如 ctrl+C、ctrl+V 等。有没有 Android API 可以获取所有键盘的列表

回答 1 投票 0

TextFormField 中的提示文本与前缀和后缀图标不对齐

与前缀和后缀图标相比,文本表单字段中的提示文本有点升高(感觉与两个图标相比好像是向上的)。 我还附上了代码

回答 4 投票 0

XML 中 EditText 的自定义设计

我想在android xml中得到这个设计,不完全是,但接近它。 我对 Android 还很陌生,所以请在您赞赏的答案中更加具体。 自定义编辑文本 尝试使用自定义

回答 1 投票 0

在android中写入EditText时如何创建数据库并将数据保存到数据库?

我是android新手,在我的应用程序中我需要创建数据库,当用户将一些内容写入EditText时,我需要将其保存到数据库中,但我实际上不知道该怎么做。所以

回答 2 投票 0

如何制作自定义输入pin码Android?

我在 Kotlin Android 上制作项目。我怎样才能使相同的字段和相同的输入?在我看来,创建一些编辑文本并不是一个好的决定 在此输入图像描述 输入图像描述她...

回答 1 投票 0

SpannableStringBuilder 类的remove 属性到底如何工作? Android 中的文本编辑器 (Kotlin)

我正在使用 Kotlin 开发一个小型原生 Android 项目。我打算创建一个小型文本编辑器,其中包含粗体、斜体、下划线等各种按钮。不幸的是我一直在努力......

回答 1 投票 0

lang.NullPointerException:尝试调用接口方法尝试调用接口方法'void android.text.TextWatcher.beforeTextChanged

java.lang.NullPointerException:尝试在空对象引用上调用接口方法“void android.text.TextWatcher.beforeTextChanged(java.lang.CharSequence, int, int, int)” 我被添加了

回答 1 投票 0

如何在Android中以编程方式设置可编辑的true/false EditText?

我们可以在 XML 布局中设置 EditText 的可编辑属性,但不能以编程方式设置,但没有 setEditable() 方法! 如果 EditText 未启用 [通过 setEnabled(false)],它仍然可编辑!

回答 14 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.