【问题标题】:Hint not working in EditText on Android提示在 Android 上的 EditText 中不起作用
【发布时间】:2015-02-08 09:49:10
【问题描述】:

我正在使用已使用提示的 Editbox。但是当我运行应用程序时,提示不显示。我也尝试过以编程方式设置提示,但它不起作用。

这是我的代码:

            <EditText
                android:id="@+id/mobile_registration_txtDomain"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dip"
                android:hint="@string/hint_domain"
                android:lines="1"
                android:background="@drawable/edittxt_drwable"
                android:textSize="14sp"
                android:textColor="#808080" />

这里是edittxt_drwable.xml代码----存放在drawables中,用于在edittext获得焦点和失去焦点时改变颜色。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_window_focused="false"
        android:state_enabled="true"
        android:drawable="@drawable/new_border" />

    <item
        android:state_window_focused="false"
        android:state_enabled="false"
        android:drawable="@drawable/new_border" />

    <item
        android:state_pressed="true"
        android:drawable="@drawable/focussed_border" />

    <item
        android:state_enabled="true"
        android:state_focused="true"
        android:drawable="@drawable/focussed_border" />

    <item
        android:state_enabled="true"
        android:drawable="@drawable/new_border" />

    <item
        android:state_focused="true"
        android:drawable="@drawable/new_border" />

    <item
        android:drawable="@drawable/new_border" />

</selector>

这里是 new_border.xml 代码,它在未单击时为 edittext 提供黑色边框。

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
         android:thickness="0dp"
         android:shape="rectangle">

    <stroke android:width="2dp"
           android:color="#808080"/> 

    <corners android:radius="5dp"    
         />

    <padding android:left="10dp"
           android:top="5dp"   
           android:right="10dp"
           android:bottom="5dp"/>

    </shape> 

这里是focussed_border.xml 代码——当edittext 被聚焦时,它为edittxt 提供橙色边框。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:thickness="0dp" 
    android:shape="rectangle">

<stroke android:width="2dp"
       android:color="#FF8C00"/> 

<corners android:radius="5dp"    
     />

<padding android:left="10dp"
       android:top="5dp"   
       android:right="10dp"
       android:bottom="5dp"/>

</shape>

【问题讨论】:

标签: android xml android-edittext hint


【解决方案1】:

尝试改变

android:inputType="text"

与 android:singleLine="true"

或者做

android:gravity="right" or android:gravity="left"

曾经使用android:ellipsize="end" 为我修复了一个奇怪的错误。

你可以使用

android:ellipsize="end"

android:maxLines="1"

在单行中显示提示文本,但您将无法看到整个文本,因为android:ellipsize="end" 会在末尾截断文本。

【讨论】:

  • 它(提示文本)默认采用白色。我设置了颜色,它的工作原理.. 感谢您的关注。 :)
【解决方案2】:

您的 string.xml 中可能有问题。您是否在 strings.xml 中正确定义了 hint_domain。能否请您出示您的 strings.xml 文件?

【讨论】:

  • 字符串文件是正确的..问题现在已经解决了..感谢您的关注:)
【解决方案3】:

试试这个, 为您的EditText 添加textColorHint 属性

android:textColorHint="#FFFFFF"

【讨论】:

  • 谢谢..我设置了颜色..它可以工作..但是#FFFFFF(你建议)是白色的..所以它也没有显示..我用蓝色,现在它是显示..谢谢.. :)
  • 它需要 15 声望.. 所以我不能。 :(
  • 如果你想设置编程使用这个代码 sn -p edit_text.setHintTextColor(getResources().getColor(R.color.blue_color));
猜你喜欢
  • 2012-12-12
  • 2016-07-27
  • 2011-09-02
  • 2015-04-15
  • 1970-01-01
  • 2015-08-26
  • 2019-01-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多