Lire Outline Box
.
Les champs de texte avec contour ont une bordure en trait et sont moins accentués. Pour utiliser un champ de texte de contour, appliquez le style suivant à votre TextInputLayout:
_ style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
_
dépendances
_implementation 'com.Android.support:design:28.0.0-alpha1'
_
XML
_ <Android.support.design.widget.TextInputLayout
Android:id="@+id/name_text_input"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
>
<Android.support.design.widget.TextInputEditText
Android:id="@+id/name_edit_text"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:hint="@string/label_name" />
</Android.support.design.widget.TextInputLayout>
_
UPDATE
Fonctionne également bien avec
_implementation 'com.Android.support:appcompat-v7:28.0.0'
implementation 'com.Android.support:design:28.0.0'
_
Utilisation de implementation 'com.Android.support:design:28.0.0-alpha1'
je reçois une erreur en dessous de
Impossible de résoudre le symbole '@ style/Widget.MaterialComponents.TextInputLayout.OutlineBox'
Effectuez les modifications ci-dessous dans votre Build.Gradle
Utilisez compileSdkVersion 28
Utilisez targetSdkVersion 28
Utiliser les dépendances ci-dessous
_implementation 'com.Android.support:appcompat-v7:28.0.0-alpha3'
implementation 'com.Android.support:design:28.0.0-alpha3'
_
Exemple de code
_<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:id="@+id/activity_main"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical"
tools:context="com.example.dangarmahesh.demoapp.MainActivity">
<ImageView
Android:layout_width="250dp"
Android:layout_gravity="center"
Android:src="@mipmap/ic_launcher"
Android:layout_height="250dp" />
<Android.support.design.widget.TextInputLayout
Android:id="@+id/userIDTextInputLayout"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
Android:layout_width="match_parent"
Android:layout_margin="10dp"
Android:layout_height="wrap_content">
<Android.support.design.widget.TextInputEditText
Android:id="@+id/userIDTextInputEditText"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:hint="User ID" />
</Android.support.design.widget.TextInputLayout>
<Android.support.design.widget.TextInputLayout
Android:id="@+id/passwordTextInputLayout"
Android:layout_margin="10dp"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<Android.support.design.widget.TextInputEditText
Android:id="@+id/passwordTextInputEditText"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:hint="Password" />
</Android.support.design.widget.TextInputLayout>
<Button
Android:layout_width="match_parent"
Android:layout_margin="10dp"
Android:text="LOGIN"
Android:textStyle="bold"
Android:background="@color/colorPrimary"
Android:textColor="@Android:color/white"
Android:layout_height="wrap_content" />
</LinearLayout>
_
OUT
Vous devez ajouter cette dépendance à votre "niveau de module" build.gradlecom.google.Android.material
pour utiliser la dernière version material UI components
.
Utilisez ce style dans votre com.google.Android.material.textfield.TextInputLayout
alors,
_style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
_
Commander de ici
Si vous utilisez la bibliothèque
com.Android.support:design
, vous devez changer le style de votre application en _Theme.MaterialComponents...Bridge
_ (par exemple, changer de style de _Theme.AppCompat.Light
_ à _Theme.MaterialComponents.Light.Bridge
_)première,
Ensuite, vous devez utiliser ce style dans votre
Android.support.design.widget.TextInputLayout
:_style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
_
Si vous utilisez la bibliothèque appcompact, vous pouvez utiliser cette Android.support.design.widget.TextInputLayout
si vous utilisez ANDROIDX build, je conclus donc que le code le plus récent est conforme à Android jetpack.
Pour utiliser cela, vous devez avoir ces dépendances dans la palette de votre application.
dependencies {
implementation 'com.google.Android.material:material:1.0.0'
}
alors de cette façon vous pouvez ajouter à votre xml pour l'élément d'interface utilisateur
<com.google.Android.material.textfield.TextInputLayout
Android:id="@+id/messageTextInputLayout"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_margin="10dp">
<com.google.Android.material.textfield.TextInputEditText
Android:id="@+id/passwordTextInputEditText"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:hint="Enter Text here" />
</com.google.Android.material.textfield.TextInputLayout>
Avec la migration vers les bibliothèques Android , vous devez utiliser la nouvelle - Composants matériels pour Android bibliothèque .
Utilisez le composant TextInputLayout
:
<com.google.Android.material.textfield.TextInputLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:hint="@string/hint_text">
<com.google.Android.material.textfield.TextInputEditText
Android:layout_width="match_parent"
Android:layout_height="wrap_content"/>
</com.google.Android.material.textfield.TextInputLayout>
Et appliquez ce style:
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
Conditions requises:
vous devez ajouter ces dépendances dans votre fichier build.gradle
implementation 'com.google.Android.material:material:<version>'
appliquer un thème Composants matériels
<style name="Theme.MyApp" parent="Theme.MaterialComponents">