2017-09-04 28 views
1

我試圖使用TextInputLayout來統計EditText中的字符數。問題是,我把我的editText包裝在TextInputLayout的代碼中,editText消失了。使用TextInputLayout來統計EditText中的字符數

這是我的XML代碼:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:fab="http://schemas.android.com/apk/res-auto" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="fill_parent" 
    tools:context="com.construct.v2.activities.plan.PlanChooserActivity" 
    android:background="@android:color/white" 
    android:id="@+id/relativeLayout"> 

    <include android:id="@+id/toolbar" layout="@layout/toolbar_shadow"/> 

    <LinearLayout 
     android:layout_below="@+id/toolbar" 
     android:id="@+id/add_category_layout" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:visibility="invisible"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/add_blue" 
     android:paddingTop="20dp" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     android:paddingBottom="20dp"/> 

    <android.support.design.widget.TextInputLayout 
     android:id="@+id/inputLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:counterEnabled="true" 
     app:counterMaxLength="55" > 

    <EditText 
     android:id="@+id/edittext_category" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:hint="@string/add_new_category" 
     android:textColorHint="#b1b1b1" 
     android:textColor="@color/text_color" 
     android:textSize="@dimen/s_text_size" 
     android:paddingTop="20dp" 
     android:background="#ffffff" 
     android:maxLines="1" 
     android:inputType="text"/> 

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

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/layout_bar" 
     android:layout_width="match_parent" 
     android:layout_height="60dp" 
     android:background="#f5f5f5" 
     android:layout_below="@+id/add_category_layout" 
     android:visibility="invisible"> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="25dp" 
      android:layout_marginRight="15dp" 
      android:gravity="center_vertical" 
      android:id="@+id/movie_name" 
      android:textSize="@dimen/s_text_size" 
      android:textColor="#b1b1b1" 
      android:text="@string/added_categories"/> 

    </LinearLayout> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recycler_view" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:clipToPadding="false" 
     android:scrollbars="vertical" 
     android:visibility="invisible" 
     android:layout_below="@id/layout_bar"/> 

    <TextView 
     android:id="@+id/ghost" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="24sp" 
     android:fontFamily="sans-serif" 
     android:textStyle="bold" 
     android:textColor="#494949" 
     android:layout_below="@+id/toolbar" 
     android:layout_centerHorizontal="true" 
     android:paddingBottom="20dp" 
     android:paddingTop="10dp"/> 

    <ImageView 
     android:id="@+id/edit_image" 
     android:layout_width="135dp" 
     android:layout_height="100dp" 
     android:src="@drawable/empty_categorie" 
     android:layout_centerHorizontal="true" 
     android:layout_below="@+id/ghost"/> 

    <TextView 
     android:id="@+id/message_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="24sp" 
     android:fontFamily="sans-serif" 
     android:textStyle="bold" 
     android:textColor="#494949" 
     android:text="@string/view_category_title_empty" 
     android:layout_below="@+id/edit_image" 
     android:layout_centerHorizontal="true" 
     android:paddingBottom="15dp" 
     android:paddingTop="10dp"/> 

    <TextView 
     android:id="@+id/message_body" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="16sp" 
     android:fontFamily="sans-serif" 
     android:textStyle="normal" 
     android:textColor="#494949" 
     android:lineSpacingExtra="6sp" 
     android:gravity="center_horizontal" 
     android:layout_below="@+id/message_title" 
     android:layout_centerHorizontal="true" 
     android:paddingBottom="30dp" 
     android:text="@string/view_category_message_empty" 
     android:paddingLeft="24dp" 
     android:paddingRight="24dp"/> 

</RelativeLayout> 

如果我刪除textInputLayout的EditText上出現,但隨着標籤它沒有顯示。

我也接受任何其他建議來計算EditText的字符。

+1

有你在你的文件的gradle添加編譯 'com.android.support:design:26.0.1' ? – Darush

+0

感謝您的回答。不,我沒有試過這樣做。但現在我做了,我得到了一個未能解決編譯'com.android.support:design:26.0.1'。它讓我安裝存儲庫,當我點擊它時什麼也沒有發生。 –

+0

我已經更新了答案。您需要向項目級別添加存儲庫{ maven {「url」https://maven.google.com「 } } build.gradle – Darush

回答

3

使用本:

<LinearLayout 
    android:id="@+id/add_category_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/toolbar" 
    android:visibility="visible"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingBottom="20dp" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" 
     android:paddingTop="20dp" 
     android:src="@drawable/add_blue" /> 

    <android.support.design.widget.TextInputLayout 
     android:id="@+id/inputLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:counterEnabled="true" 
     app:counterMaxLength="55"> 

     <EditText 
      android:id="@+id/edittext_category" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="#ffffff" 
      android:hint="@string/add_new_category" 
      android:inputType="text" 
      android:maxLines="1" 
      android:paddingTop="20dp" 
      android:textColor="@color/text_color" 
      android:textColorHint="#b1b1b1" 
      android:textSize="@dimen/s_text_size" /> 

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

</LinearLayout> 

注意:您還需要:

1添加compile 'com.android.support:design:26.0.1'到您的應用水平的build.gradle文件。

2 - 添加到您的項目級的build.gradle文件:

repositories { 
    maven { 
     url "https://maven.google.com" 
    } 
} 
+0

感謝您的回答。點擊按鈕後,我將LinearLayout的可見性更改爲可編程方式。默認值必須是不可見的。 –

+0

您還應該將EditText和TextInputLayout的寬度設置爲android:layout_width =「match_parent」 – Darush

+1

它工作,謝謝! –

相關問題