I have a standard straight forward EditText, I want to show the dictionary suggestions on top of this EditText so I did this in the XML:
<EditText
android:id="#+id/messaging_messageEdit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:layout_weight="85"
android:background="#drawable/clanz_edit_text_holo_dark"
android:ems="10"
android:hint="Type your message here..."
android:singleLine="true"
android:inputType="textAutoComplete"
android:textColor="#dedede" >
</EditText>
I thought that the inputType parameter would take care of the auto dictionary view. On my phone (Nexus Android 5.1) the dictionary view appears but is blank. On a Genymotion emulator (Android 4.1.1) it does not display at all.
What am I missing?
This can be one solutions if you are looking for AutoComplete TextView.
<AutoCompleteTextView
android:id="#+id/from_station"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="#string/enter_start"
android:imeOptions="actionNext"
android:inputType="textNoSuggestions"
android:textColorHint="#color/transparent_black" />
You can also set threshold value using paramters.
Need to set adapter values at runtime.
If I understand correctly you want the keyboard to have auto correction right?
According to the Android developers website:
Can be combined with text and its variations to specify that this
field will be doing its own auto-completion and talking with the input
method appropriately. Corresponds to TYPE_TEXT_FLAG_AUTO_COMPLETE.
This is not what you're looking for. You are probably looking for textAutoCorrect which is this according to the Android developers website:
Can be combined with text and its variations to request
auto-correction of text being input. Corresponds to
TYPE_TEXT_FLAG_AUTO_CORRECT.
I've made a lot of apps and never used one of those though. It just auto corrects if you have a normal EditText.
I had the same problem not getting keyboard suggestions on some of my EditText views. Please pay attention there is a difference between autoComplete text views and getting keyboard suggestions while typing! They happen in two different places, first one inside the AutoCompleteTextView the other one on top of your keyboard while typing.. (for example you type te => it suggests "tea teaspoon teapot" to make your life easier.)
To achieve that I had to turn off the input types that I was setting programmatically and when you do so, the default behavior is back and that means getting keyboard word suggestions:
// etFieldValue.setInputType(InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE);
I tried the following but I still did not get a keyboard suggestions:
etFieldValue.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE|InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE);
at the end I commented all the above and it worked just fine!
here I also found that someone else had the reverse problem meaning they wanted to disable this functionality and they suggested to use the code that I had commented! read here
Related
In my Android App, I want to let user to type Full Name at one point to an EditText. There I need the following behaviour
1). Should NOT allow user to type invalid characters. For that I was using the following
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
2). The keyboard should have the "ActionNext" to easily move to next Field. For that I was using the following
android:imeOptions="actionNext"
But when I specify digits as above, it looses the ActionNext and instead get Enter Key (move 2nd line)...
My full xml is as follows,
<EditText
android:id="#+id/editText_FullName"
android:layout_width="300dp"
android:layout_height="40dp"
android:inputType="textCapWords"
android:maxLength="40"
android:layout_marginStart="10dp"
android:textSize="16sp"
android:typeface="normal"
android:longClickable="false"
android:lines="1"
android:scrollHorizontally="false"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
android:imeOptions="actionNext"/>
I found after searching in google it saying to use android:singleLine="true" to fix the issue. Yes that fix issue but this attribute is deprecated and and Android Studio suggests to use android:maxLines="1" which again NOT fix the issue and loose ActionNext in Keyboard. Basically instead of ActionNext I still see Enter key (move next line) option.
Has anyone got a solution for this. Thanks
Edits
I could use regular expression validation or register the EditText to a KeyListener. But looking for a pure xml solution.
I don't know what to say to this but I want mask or put patch on Text view.
See the picture below. I want effect like this. I've searched lot but didn't find any post with same requirement. How to achieve this?
You can pass two images in one TextView Like below Code:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="#drawable/icon"
android:drawableRight="#drawable/pacth_icon"
/>
use
android:drawableLeft
and
android:drawableRight
to set your images in TextView.And you can setText and background Image as well.
I have an edittext that I want to accept positive and negative numbers.
It works phone on my phone, the keyboard shows the "-" sign, however it doesn't work on some phone whereas the "-" doesn't show up on their keyboard. See the attached images. How to fix it so that it works on all Android phones. I set the edittext to android:inputType="numberDecimal|numberSigned" The first image is on my phone whereas the 2nd image shows the user's phone and he's having problem entering the "-" sign. He uses Android version 5.0.1.
<EditText
android:id="#+id/number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:inputType="numberDecimal|numberSigned"
/>
Thank you.
Moving my comment to the answer:
I can see the - on both images. Probably on the lower one you need to hold the button for it though.
It worked, holding the button selects the -.
On the second keyboard the - can be found as option on the ) key. So you did everything right. Setting android:inputType="numberDecimal|numberSigned" should suffice. But eventually you might find keyboards not handling these types correctly. But then there's nothing you could do about it anyway.
I am doing an app that involves getting input from the user, and so I want to be as minimalist as possible. I am looking for a way to place what should be written in a number box like this:
+----------------------------+
Enter number of days
+----------------------------+
in a grayed out manner, that dissapears when a number is placed inside.
I tried to google it, but since I couldn't find the right word (Not a native speaker), I couldn't find the right results. So I come here for help.
use android:hint="Enter number of days"
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Enter number of days"
android:inputType="number"
/>
See here for the "hint" usage: http://developer.android.com/reference/android/widget/TextView.html#getHint()
I'm looking for how to do texttospeech from extern file, eg from resources.
Normally it works that, it read view's text/className/etc .
There would be great to click on specific view eg unnamed button with only image, and tts from resource with mapped strings.
EDIT:
Yes it goes for TalkBack, yes It reads "Button", and I would like to assign it a specific string.
Also assign text for specific button even if it has text assigned in xml layout.
EG:
<Button
android:id="#+id/this_is_button"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="#string/self_destruct"
android:onClick="selfDestruct" />
and it will read the content from android:text. Or just "Button" if we have not assigned text here.
The problem is how to assign for this button another text which would be read.
Please take a look at this site:
http://developer.android.com/guide/topics/ui/accessibility/apps.html
It describes what to do to make you arr better in terms of Accessibility.
The Labeling User Interface Elements section should be important to you:
http://developer.android.com/guide/topics/ui/accessibility/apps.html#label-ui
Here is an example how to label a ImageButton:
<ImageButton
android:id=”#+id/add_note_button”
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src=”#drawable/add_note”
android:contentDescription=”#string/add_note”/>
More information about android:contentDescription: http://developer.android.com/reference/android/view/View.html#attr_android:contentDescription
You can set there any string from your resources so the message can be localized the same way as any other text displayed on screen etc.
Please note that android:contentDescription works even on view that have text associated (then the android:contentDescription will be spoken instead)