Set multi-line for EditText's HINT

北慕城南 提交于 2019-12-19 01:38:12

问题


I know that I could change the No. of lines for EditeText's Text, yet could I change that of EditText's hint as well?

I could not find a solution online.

Thanks for the help.

My Code:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.property_search, menu);
    super.onCreateOptionsMenu(menu, inflater);

    final MenuItem searchViewMenuItem = menu.findItem(R.id.action_search);
    mSearchView = (SearchView) searchViewMenuItem.getActionView();
    int searchSrcTextId = getResources().getIdentifier("android:id/search_src_text", null, null);
    EditText searchEditText = (EditText) mSearchView.findViewById(searchSrcTextId);
    searchEditText.setImeOptions(EditorInfo.IME_ACTION_NEXT);
   searchEditText.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
    searchEditText.setHint(getString(R.string.search_hint));
}

strings.xml

<string name="search_hint">keyword, location, \nmax price (e.g. 1K, 1M)</string>

What I want is:

keyword, location,

max price (e.g. 1K, 1M)


回答1:


Nothing worked for me but:

 <EditText
         android:id="@+id/text"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:inputType="textMultiLine|textLongMessage"
         android:hint="\n"/>

To be honest I don´t understand why.. but including "\n" as hint in the xml did the trick!

Now you can call setHint from Java code:

searchEditText.setHint(getString(R.string.search_hint));

and remove the \n from strings.xml if you want to allow the text split automatically according to the room

<string name="search_hint">keyword, location, max price (e.g. 1K, 1M)</string>



回答2:


use new line separator \n in ur hint.

like

android:hint="first line of hint \n second line of hint so on.."

in strings

<string name="urhint">first line of hint \n second line of hint so on..</string>

android:hint="@string/urhint"

hope it works..




回答3:


unbelievable but true: setting the long text programmatically instead of setting it in the xml did the trick.

<TextInputEditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine|textCapSentences|textAutoCorrect"

Set the text programmatically:

mEditTextRemark.setHint(R.string...);



回答4:


Try this:

String.xml

<string name="hint">Hint first line \n Hint second line \n Hint third line</string>

Layout.xml

 <EditText
         android:id="@+id/emailText"   
         android:layout_height="fill_parent"
         android:layout_width="fill_parent"
         android:background="@drawable/login_edittext_background"
         android:imeOptions="actionNext"
         android:inputType="textEmailAddress"
         android:hint="@string/hint"/>



回答5:


set below two lines in your edittext in your xml file

android:inputType="textMultiLine"
android:lines="3"

so gives 3 multilines box are display in preview



来源:https://stackoverflow.com/questions/28060772/set-multi-line-for-edittexts-hint

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!