Android adicionar texto de espaço reservado ao EditText


365

Como posso adicionar um texto de espaço reservadoEditText na classe que não está no XML?

Eu tenho o seguinte EditTextno meu código que será mostrado no alertdialog:

    final EditText name = new EditText(this);

11
O que você quer dizer com espaço reservado?
LuxuryMode

4
É o texto que é escrito com cores claras nas barras de texto e quando o usuário clica na barra de texto para escrever algo que o texto desaparecerá.
Mona

Respostas:


832

Ah ok. O que você está procurando é setHint(int). Simplesmente passe um id de recurso de uma string do seu xml e você estará pronto.

insira a descrição da imagem aqui

EDITAR

E em XML, é simplesmente android:hint="someText"


6
Obrigado! Eu não sabia o que eles chamam no Android, só sei que no iOS é chamado espaço reservado.
Mona

39
Sua universalmente conhecido como um espaço reservado, mas é claro que android é diferente apenas para ser diferente;)
Joe Maher

21

android:hint="text" fornece uma informação para o usuário que o que ele precisa preencher em particular editText

por exemplo: - eu tenho dois edittext, um para valor numérico e outro para valor de string. podemos definir uma dica para o usuário, para que ele entenda que valor ele precisa dar

android:hint="Please enter phone number"
android:hint="Enter name" 

depois de executar o aplicativo, esses dois edittext mostrarão a dica inserida, depois de clicar no texto de edição e o usuário poderá inserir o que deseja (consulte a imagem do modo de luxo)


Isso é chamado de dica no android.
Monty

11

Na sua atividade

<EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:background="@null"
                android:hint="Text Example"
                android:padding="5dp"
                android:singleLine="true"
                android:id="@+id/name"
                android:textColor="@color/magenta"/>

insira a descrição da imagem aqui


7

É assim que se faz uma senha de entrada com uma dica que não foi convertida em * !!.

No XML:

android:inputType="textPassword"
android:gravity="center"
android:ellipsize="start"
android:hint="Input Password !."

agradecimentos a: manga e rjrjr pela compreensão: D.


5

No Android Studio, você pode adicionar dica (espaço reservado) por meio da GUI. Primeiro, selecione o campo EditText na visualização do designer. Em seguida, clique na árvore de componentes Lado esquerdo do IDE (normalmente está lá, mas pode estar lá minimizado). Lá você pode ver as propriedades do EditText selecionado. Encontre o campo Dica como abaixo da imagem

insira a descrição da imagem aqui

Lá você pode adicionar dica (marcador de posição) ao EditText


3

Se você quer dizer o local onde o adicionará no layout. Você pode definir um contêiner como um FrameLayout e adicionar este EditText a ele quando ele é criado.

<LinearLayout xmlns=".."/>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/container" android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

FrameLayout layout = (FrameLayout) findViewById(R.id.container);
layout.addView(name);

1

Você precisa usar o atributo android: hint

<EditText
android:id="@+id/message"
android:hint="<<Your placeholder>>"
/>

No Android Studio, você pode alternar de XML -> Design View e clicar no componente no layout, no campo EditText, neste caso. Isso mostrará todos os atributos aplicáveis ​​para esse componente da GUI. Isso será útil quando você não souber sobre todos os atributos existentes.

Você ficaria surpreso ao ver que o EditText possui mais de 140 atributos para personalização.


0

Se você deseja inserir texto dentro da visualização EditText que permanece lá após o campo ser selecionado (diferente da maneira como a dica se comporta), faça o seguinte:

Em Java:

// Cast Your EditText as a TextView
((TextView) findViewById(R.id.email)).setText("your Text")

Em Kotlin:

// Cast your EditText into a TextView
// Like this
(findViewById(R.id.email) as TextView).text = "Your Text"
// Or simply like this
findViewById<TextView>(R.id.email).text = "Your Text"
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.