2017-10-17 83 views
0

我正在创建具有必填字段(如名和手机号码)的登录页面,因为我还使用XMl设计了浮动标签,但浮动标签未应用于必填字段,而是应用于普通字段我把hint.Below是我用于浮点代码labels.Can谁能帮我解决这个登录页面中必填字段的浮动标签

<android.support.design.widget.TextInputLayout 
       android:id="@+id/input_layout_password" 
       android:layout_width="match_parent" 
       android:layout_below="@+id/input_layout_email" 
       android:layout_height="wrap_content"> 

       <EditText 
        android:id="@+id/mobilenumber" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:inputType="textPassword" 
        android:textSize="15dp"/> 
       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" /> 
      </android.support.design.widget.TextInputLayout> 

回答

0

您可以参考下面这个例子:

首先,你要的gradle中添加代码:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.android.support:design:23.0.1' 
} 

和布局

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 
    </android.support.design.widget.AppBarLayout> 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="?attr/actionBarSize" 
     android:orientation="vertical" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     android:paddingTop="60dp"> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_name" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/input_name" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:singleLine="true" 
       android:hint="@string/hint_name" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_email" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/input_email" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:inputType="textEmailAddress" 
       android:hint="@string/hint_email" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/input_password" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:inputType="textPassword" 
       android:hint="@string/hint_password" /> 
     </android.support.design.widget.TextInputLayout> 

     <Button android:id="@+id/btn_signup" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="@string/btn_sign_up" 
      android:background="@color/colorPrimary" 
      android:layout_marginTop="40dp" 
      android:textColor="@android:color/white"/> 

    </LinearLayout> 

</android.support.design.widget.CoordinatorLayout> 

我希望它可以帮助您的问题!

您可以参考更多:https://www.androidhive.info/2015/09/android-material-design-floating-labels-for-edittext/

0

在你的build.gradle添加最新的程序兼容性和设计库。

dependencies 
{ 
compile 'com.android.support:appcompat-v7:X.X.X' // where X.X.X version 
compile 'com.android.support:design:X.X.X' // where X.X.X version 
} 

声明你的EditText与TextInputLayout

把它包
<android.support.design.widget.TextInputLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content"> 

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:hint="@string/Title" /> 

</android.support.design.widget.TextInputLayout> 

注:

两个部件TextInputLayout和EditText上有机器人:hint属性,你可以使用其中任何一个。如果您的应用支持横向模式,请使用TextInputEditText替换EditText以便提示正确显示。

+0

我用的是相同的,但在编辑文本我想强制性标志即红色的开始,但这是可能的暗示。 –

+0

我不这么认为,你可以做的是setError()如果edittext为空 –

+0

如果你想显示一个固定的红色*,那么解决方法是使用FrameLayout来包装TextInputLayout和TextView。将TextView左对齐,并将LeftPadding添加到EditText,以便输入的文本将出现在* –