No android como faço para exibir aquele componente(Um olho) que o usuário clica e as senhas que são pontos se transformar em string para ele editar a senha antes do login. Desde já agradeço
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
No android como faço para exibir aquele componente(Um olho) que o usuário clica e as senhas que são pontos se transformar em string para ele editar a senha antes do login. Desde já agradeço
Oi Maison, tudo bem ?
Cara você está desenvolvendo em qual linguagem ?
Abraços
Oi Matheus, tudo bem. Java (Android)
Legal !
Cara é bem de boa, o próprio android já faz isso sozinho !!!
Basta você colocar esse atributo no seu EditText :
android:inputType="textPassword"
Faz o teste ai e fala para gente se foi !
Abraços
Então, ele já é um password(EditText) o que estou querendo não é a mascára dos pontinhos(..........) e sim aquele botão do olho que fica do lado que várias aplicações usam pra poder visualizar e editar a senha antes do login.
Qual é a versão que você está seu build.gradle ?
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.maiso.baresmanaus"
minSdkVersion 21
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
jcenter()
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.support:design:25.1.0'
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'com.google.firebase:firebase-ads:10.0.1'
compile 'com.google.gms:google-services:3.0.0'
compile 'com.google.android.gms:play-services-ads:10.0.1'
compile 'com.google.android.gms:play-services:10.0.1'
compile 'com.android.support:support-v4:+'
compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.daimajia.slider:library:1.1.5@aar'
compile 'com.r0adkll:slidableactivity:2.0.5'
compile 'com.r0adkll:slidableactivity:2.0.5-SNAPSHOT'
compile 'com.github.bumptech.glide:glide:3.6.0'
compile 'com.google.code.gson:gson:2.4'
compile 'com.52inc:52Kit-core:0.4.3'
testCompile 'junit:junit:4.12'
compile 'com.android.support:cardview-v7:25.1.0'
}
dependencies {
compile 'com.jakewharton:butterknife:8.4.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
}
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.jakewharton.butterknife'
Esqueci de te falar um negócio, desculpa.
Essa opção do olhinho aparece sozinha, quando usamos a biblioteca de design do google.
Ela tem um componente chamando TextInputLayout, precisamos colocar nosso EditTextdentro dele para que ele consiga fazer esse tratamento.
Dá uma olhada :
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp">
<EditText
android:id="@+id/login_senha"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Senha"
android:inputType="textPassword" />
</android.support.design.widget.TextInputLayout>
Espero ter ajudado !
Em que versão você tá testando ? Eu acabei de testar esse código na API 25,24 E 23 E NÃO tem nada eu já tinha o TextInputLayout.
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp">
<ImageView
android:id="@+id/imagem_logo"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_gravity="center"
android:src="@drawable/logo"
android:scaleType="fitCenter"
android:adjustViewBounds="false"
android:cropToPadding="false"
android:layout_alignParentTop="false"
android:contentDescription="@string/mensagem_de_boas_vindas" />
<TextView
android:id="@+id/txt_boasvindas"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/mensagem_de_boas_vindas"
android:textStyle="bold"
android:textSize="18sp"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:paddingLeft="40sp"
android:paddingRight="40sp"
android:textColor="@color/black"
android:layout_below="@id/imagem_logo"/>
<LinearLayout
android:id="@+id/login_user_form"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="30dp"
android:weightSum="1"
android:layout_below="@+id/txt_boasvindas">
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<AutoCompleteTextView
android:id="@+id/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_username"
android:maxLines="1"
android:imeOptions="normal" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/text_input_senha">
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/prompt_password"
android:inputType="textPassword" />
</android.support.design.widget.TextInputLayout>
<Button
android:id="@+id/botao_login"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="40dp"
android:text="@string/action_sign_in"
android:textColor="@android:color/background_light"
android:background="@color/colorPrimary" />
</LinearLayout>
<TextView
android:text="@string/dev_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textDev"
android:textStyle="normal|bold"
android:textColor="@color/colorPrimaryDark"
android:textSize="14sp"
android:textAlignment="center"
android:layout_marginTop="510dp" />
</RelativeLayout>
</ScrollView>
Maison,
A biblioteca de design do google a gente tem que importar :
compile 'com.android.support:design:24.2.1'
Abraços
Já tem no meu gradle na segunda linha uma versão mias recente será isso ?
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.android.support:design:25.1.0'
No meu caso estou usando a 24 tanto na versão de desenvolvimento quanto na versão da biblioteca !
Matheus era justamente isso se eu colocar:
compile 'com.android.support:design:24.2.1'
o olhinho aparece
No entanto como meu projeto requeria
compile 'com.android.support:appcompat-v7:25.1.0'
Nessa versão não aparece, de tanto procurar pra não ter que mudar a biblioteca eu achei uma solução que é adicionar essa linha no TextInput:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:passwordToggleContentDescription="@string/description"
app:passwordToggleDrawable="@drawable/another_toggle_drawable"
app:passwordToggleEnabled="true">
Te agradeço por que não fosse teu feedback não ia desconfiar disso.