Edittext starting point problem Android - android

In my code,am having EdiText and its code is:
<EditText
android:layout_height="150dp"
android:id="#+id/profiledescription"
android:imeOptions="actionDone|flagNoExtractUi"
android:textSize="16sp"
android:paddingLeft="20dp"
android:layout_width="fill_parent"
android:enabled="false"
android:layout_marginRight="20dp"></EditText>
But the problem is cursor is starting from middle rather than usual first position:

You'll probably need to set android:gravity="top" for the corresponding XML-element in the layout.

Try specifying the following in your EditText XML declaration:
<EditText android:gravity="left|top" ... />
Hope this helps!

You need to add android:gravity="top" to the layout for that EditText.
<EditText
android:layout_height="150dp"
android:id="#+id/profiledescription"
android:imeOptions="actionDone|flagNoExtractUi"
android:gravity="top"
android:textSize="16sp"
android:paddingLeft="20dp"
android:layout_width="fill_parent"
android:enabled="false"
android:layout_marginRight="20dp">
</EditText>

Use the following:
android:gravity="top" android:singleLine="false"

Related

How to make cursor stay in the center of edittext

I have a normal edittext like this :
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="#+id/et_word"
android:ems="12"
android:background="#android:color/transparent"/>
How can I make the cursor stay always in the center of edittext? No matter if user enters something or not. Thanks.
Try adding the following code
android:gravity="center"
This makes sure that your text will always be entered in the center of the EditText. By default its value is left.
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="#+id/et_word"
android:ems="12"
android:gravity="center"
android:background="#android:color/transparent"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="start"
android:maxLines="1"
android:gravity="center"
android:hint="Some hint text"
></EditText>
please Try adding the following code
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="start"
android:maxLines="1"
android:gravity="center"
android:id="#+id/et_word"
android:ems="12"
android:background="#android:color/transparent"/>
Here you can add to property in xml file to gravity center then you can get cursor center
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="#+id/et_word"
android:ems="12"
android:gravity="center"
android:background="#android:color/transparent"/>
That can be write from center also.

edit text with label inside in android

can anyone know how to make this?
i think this is a editText
but how can i put a label and text at the same time?
thanks in advance
Try this out :
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="#+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="40dp" >
<requestFocus />
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:paddingLeft="10dp"
android:text="Gender" />
</FrameLayout>
Hope it helps.
Also you can use the 'hint' property:
android:hint="#string/hint_email"
Then, the text label is ignored when you input a value.
For setting color of hint texts, see stackoverflow here

actionDone for EditText without singleLine option

I need to set the actiondone for my edittext without set the singleLine oprions (i need the input in multiple line). How can i do it?
that's the code:
<EditText
android:id="#+edit_text/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Titolo"
android:imeOptions="actionNext"
android:singleLine="true" />
<EditText
android:id="#+edit_text/content"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="top"
android:hint="Inserisci la nota"
android:singleLine="false"
android:imeOptions="actionDone" />
This worked for me :
<EditText
android:id="#+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:singleLine="false" />
I have found a solution
Set on your view programmatically
mEditText.setRawInputType(InputType.TYPE_CLASS_TEXT);
mEditText.setImeActionLabel(getResources().getString(R.string.done), EditorInfo.IME_ACTION_DONE);
mEditText.setImeOptions(EditorInfo.IME_ACTION_DONE);
The xml file will be:
<EditText
android:id="#+id/my_EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
The solution was found here:
https://gist.github.com/Dogesmith/2b98df97b4fca849ff94
Since SingleLine = false/true is deprecated. Apply below code. It worked for me.
<EditText
android:id="#+id/my_EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:imeOptions="actionDone"/>

Android: how to make multiline text auto scroll down?

I want to make the multiline text auto scroll down as I add in more text:
<EditText
android:id="#+id/Text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="#+id/TypeBox"
android:layout_below="#+id/ReceiverName"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_weight="0.65"
android:ems="10"
android:focusable="false"
android:gravity="bottom"
android:inputType="textMultiLine|textNoSuggestions" >
</EditText>
I have tried searching for it but all i could find is auto scroll of a text box within a scroll view.
android:inputType="textMultiLine"
android:editable="true"
android:enabled="true"
android:minLines="6"
android:maxLines="6"
android:isScrollContainer="true"
android:focusable="true"
Refer this link for more info
https://alvinalexander.com/source-code/android/android-edittext-isscrollcontainer-example-how-make-multiline-scrolling
I think, you need to add a line:
android:inputType="textFilter|textMultiLine|textNoSuggestions"
Add bellow code in activity onCreate(), this Add scroll behavior to
text view
textView.setMovementMbehavior ScrollingMovementMethod());
<TextView
android:id="#+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:text="text"
android:textColor="#ffffff"
android:textSize="20sp"/>

How to create a TextArea in Android

How do I display a TextArea for my android project? From xml, the only choice is TextField, multi lined. But thats editable. I need a TextArea which is only for displaying messages/text can't be edit/input by the user.
Try this:
<EditText
android:id="#+id/edit_text"
android:layout_width="match_parent"
android:layout_height="150dp"
android:inputType="text|textMultiLine"
android:gravity="top"/>
Use TextView inside a ScrollView
<ScrollView
android:id="#+id/ScrollView01"
android:layout_width="wrap_content"
android:layout_height="150dip">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</ScrollView>
If you do not want to allow user to enter text TextView is the best option here. Any how you can also add EditText for this purpose. here is a sample code for that.
This would automatically show scrollbar if there is more text than the specified lines.
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:lines="8"
android:maxLines="10"
android:minLines="6"
android:scrollbars="vertical" />
Edit: Adding attributes below to textView would make it a textArea that would not be editable.
android:lines="8"
android:maxLines="10"
android:minLines="6" // optional
Its really simple, write this code in XML:
<EditText
android:id="#+id/fname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="First Name"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="160dp"
android:ems="10"
android:gravity="left|top"
android:hint="Write your comment.."
android:inputType="textMultiLine"
android:textSize="15sp">
<requestFocus />
</EditText>
Use TextView inside a ScrollView to display messages with any no.of lines. User can't edit the text in this view as in EditText.
I think this is good for your requirement. Try it once.
You can change the default color and text size in XML file only if you want to fix them as below:
<TextView
android:id="#+id/tv"
android:layout_width="fill_parent"
android:layout_height="100px"
android:textColor="#f00"
android:textSize="25px"
android:typeface="serif"
android:textStyle="italic"/>
or if you want to change dynamically whenever you want use as below:
TextView textarea = (TextView)findViewById(R.id.tv); // tv is id in XML file for TextView
textarea.setTextSize(20);
textarea.setTextColor(Color.rgb(0xff, 0, 0));
textarea.setTypeface(Typeface.SERIF, Typeface.ITALIC);
<EditText
android:id="#+id/comments_textbox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="comments"
android:inputType="textMultiLine"
android:longClickable="false" />
use it to create multi line text box like textArea in Html
Defining an Android Mulitline EditText Field is done via the inputType=”textMultiline”. Unfortunately the text looks strangely aligned. To solve that also use the gravity=”left|top” attribute.
<EditText
android:id="#+id/editText1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:ems="10"
android:gravity="left|top"
android:inputType="textMultiLine" >
<requestFocus />
check this vogella blog
All of the answers are good but not complete. Use this.
<EditText
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="12dp"
android:layout_marginBottom="12dp"
android:background="#drawable/text_area_background"
android:gravity="start|top"
android:hint="#string/write_your_comments"
android:imeOptions="actionDone"
android:importantForAutofill="no"
android:inputType="textMultiLine"
android:padding="12dp" />
this short answer might help someone who is looking to do.
add this simple code in your code
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:editable="false"
android:focusable="false"
android:singleLine="true" />
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="100dp">
<EditText
android:id="#+id/question_input"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:ems="10"
android:inputType="text|textMultiLine"
android:lineSpacingExtra="5sp"
android:padding="5dp"
android:textAlignment="textEnd"
android:typeface="normal" />
</android.support.v4.widget.NestedScrollView>
<EditText
android:id="#+id/edit_text"
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="#drawable/border_layout"
android:inputType="text|textMultiLine"
android:gravity="top"/>
Create a Drawable Resource file called border_layout
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#color/custom_grey" />
</shape>
custom grey color under values->colors.xml
<color name="custom_grey">#494646</color>

Categories

Resources