如何将计数器放在TextInputLayout中(对于全角文本字段)?

时间:2016-05-07 22:45:54

标签: java android user-interface material-design

“材质设计”指南中有全宽度文本字段,但似乎没有任何指南或有关其实现的任何信息。在我的布局中,我有两个EditTextLayout s:单行和多行。我使用app:counterEnabled="true"app:counterMaxLength="50"标记实现了计数器,但它们位于文本字段之外,在全宽字段的情况下不应该发生。以下是我想要实现的目标: Material Design full width input fields 这是我的代码:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:showDividers="middle"
    android:divider="@android:drawable/divider_horizontal_textfield"
    android:orientation="vertical">

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:counterEnabled="true"
        app:counterOverflowTextAppearance="@style/AppTheme.EditTextOverflow"
        app:counterMaxLength="50">

        <android.support.design.widget.TextInputEditText
            android:id="@+id/fragment_suggestion_input_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@null"
            android:gravity="center_vertical|start"
            android:minHeight="?listPreferredItemHeight"
            android:paddingTop="20dp"
            android:paddingBottom="20dp"
            android:lines="1"
            android:paddingLeft="?listPreferredItemPaddingLeft"
            android:paddingStart="?listPreferredItemPaddingLeft"
            android:paddingRight="?listPreferredItemPaddingRight"
            android:paddingEnd="?listPreferredItemPaddingRight"
            android:hint="Title"/>

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

    <android.support.design.widget.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:counterEnabled="true"
        app:counterOverflowTextAppearance="@style/AppTheme.EditTextOverflow"
        app:counterMaxLength="400">

        <android.support.design.widget.TextInputEditText
            android:id="@+id/fragment_suggestion_input_description"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@null"
            android:gravity="center_vertical|start"
            android:minHeight="?listPreferredItemHeight"
            android:paddingTop="20dp"
            android:paddingBottom="20dp"
            android:paddingLeft="?listPreferredItemPaddingLeft"
            android:paddingStart="?listPreferredItemPaddingLeft"
            android:paddingRight="?listPreferredItemPaddingRight"
            android:paddingEnd="?listPreferredItemPaddingRight"
            android:hint="Description"/>

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

</LinearLayout>

这就是我到目前为止所做的:My screenshot

我相信有可能只使用听众和一些代码使它们出现在焦点上,但我不知道如何影响他们的位置。

所以,我的问题是:如何让计数器显示在TextInputLayouts中,不在之外?

1 个答案:

答案 0 :(得分:1)

您可以使用setCounterEnabled(boolean)方法启用字符计数器。

显示视图内的当前字符数。

如果您需要更多说明:

android.support.design:counterEnabled
     

布局是否布局好像字符计数器一样   显示

     

必须是boolean值,truefalse

     

这也可能是对资源的引用(在表单中)   "@[package:]type:name")或主题属性(在表单中)   "?[package:][type:]name")包含此类型的值。

     

这是一个私人符号。

     
    

相关方法

         

setCounterEnabled(boolean)

  
     

来自:http://developer.android.com/reference/android/support/design/widget/TextInputLayout.html#attr_android.support.design:counterEnabled

希望有所帮助