`
zhuxinzx
  • 浏览: 293748 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android EditText获得焦点时边框颜色变深

 
阅读更多

第一步:为了更好的比较,准备两个一模一样的EditText(当Activity启动时,焦点会在第一个EditText上,如果你不希望这样只需要写一个高度和宽带为0的EditText即可避免,这里就不这么做了),代码如下:

<EditText
    android:layout_width="fill_parent"
    android:layout_height="36dip"
    android:background="@drawable/bg_edittext"
    android:padding="5dip"
    android:layout_margin="36dip"
    android:textColorHint="#AAAAAA"
    android:textSize="15dip"
    android:singleLine="true"
    android:hint="请输入..." />

接下来建立三个xml文件,分别为输入框未获得焦点时的背景,输入框获得焦点时的背景,selector背景选择器(这里能获得输入框什么时候获得和失去焦点),代码如下:

bg_edittext_normal.xml(未获得焦点时)

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF" />
    <corners android:radius="3dip" />
    <stroke android:width="1dip" android:color="#BDC7D8" />
</shape>

 

bg_edittext_focused.xml(获得焦点时)

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF" />
    <corners android:radius="3dip" />
    <stroke android:width="1dip" android:color="#728ea3" />
</shape>

 bg_edittext.xml(selector选择器,这方面资料网上很多)

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

 

 

 

 

 

分享到:
评论

相关推荐

    android-EditText边框颜色

    当我们需要对`EditText`的外观进行自定义,特别是调整其边框颜色时,这通常是UI设计需求的一部分,使得应用界面更加美观和个性化。本教程将详细讲解如何在Android中改变`EditText`的边框颜色,适合初学者学习。 ...

    完美得解决listview和edittext抢夺焦点和数据混乱问题

    在Android开发中,ListView与EditText的交互经常遇到一些棘手的问题,主要表现为焦点管理与数据同步混乱。ListView作为常用的列表控件,用于显示大量可滚动的数据;EditText则用于用户输入文本。当两者结合使用时,...

    edittext失去焦点,收起键盘

    这可以通过在布局XML文件中设置`android:focusableInTouchMode="true"`属性或者在代码中使用`setFocusableInTouchMode(true)`方法来完成,确保当EditText获取到焦点时,可以显示键盘。 然后,我们需要监听触摸事件...

    安卓EditText输入框相关-edittext失去焦点收起键盘.rar

    当一个Android应用中包含多个EditText时,用户在不同输入框之间切换,焦点会自动移动。可以通过设置`android:focusableInTouchMode`属性来控制是否在触摸模式下可获取焦点。 2. **监听焦点变化**: 可以使用`...

    Android 设置Edittext获取焦点并弹出软键盘

    在Android开发中,有时我们需要在应用启动或某个特定操作后,让`EditText`控件自动获取焦点,并且弹出软键盘以便用户输入。这在创建表单、登录界面或者搜索功能时尤为常见。本文将详细讲解如何实现这个功能。 首先...

    EditText焦点的自动跳转

    5. **XML布局中的焦点转移**:在布局文件中,我们也可以使用`android:nextFocusDown`属性来指定当当前`EditText`失去焦点时,焦点应移动到哪个`EditText`。例如: ```xml &lt;EditText android:id="@+id/editText1" ...

    Android取消EditText自动获取默认焦点

    Android 取消EditText自动获取默认焦点 在 Android 开发中,EditText 是一个常用的控件,用来输入文字信息。但是,在某些情况下,EditText 会自动获取焦点,这可能会带来不必要的麻烦。那么,如何取消 EditText 的...

    android EditText在输入的时候输入框上方现悬浮文字提示

    `Android EditText`在输入时显示悬浮文字提示,主要是通过自定义`EditText`视图或利用第三方库来实现的。下面将详细介绍这一功能的实现方法。 首先,`Android`原生的`EditText`虽然提供了`hint`属性,用于设置...

    Android EditText(失焦+焦点)+登录界面

    3. `setOnFocusChangeListener`:设置焦点变化监听器,当`EditText`获得或失去焦点时触发回调。 在登录界面设计中,通常包含两个`EditText`,一个用于输入用户名,另一个用于输入密码。为了提供更好的用户体验,...

    android EditText跟随键盘弹出,背景不会被顶上去

    在Android开发中,`EditText` 是一个常用的组件,用于接收用户输入文本。然而,当`EditText`位于屏幕底部,用户点击输入时,软键盘弹出可能会遮挡到`EditText`,给用户带来不便。为了解决这个问题,我们需要实现`...

    Android EditText 插入表情

    在回调函数中,我们需要获取到`EditText`的引用,并使用`setText()`或`append()`方法将表情字符插入到当前光标位置。同时,确保更新光标的位置,使其跟随在新插入的字符后面。 为了让表情能够正常显示,还需要在`...

    Android取消EditText自动获取焦点默认行为

    在Android开发中,有时我们不希望EditText控件在布局加载后自动获取焦点,因为这可能会导致软键盘弹出,影响用户体验。特别是在某些情况下,比如启动屏幕或者信息展示页,我们通常希望用户主动触发输入,而不是被动...

    Android中为EditText添加边框的代码清单.pdf

    - 在使用`android:background`属性时,确保不要与主题中的`android:editTextStyle`冲突。 - 如果需要动态改变边框,可以使用`editText1.setBackground()`方法。 - 边框效果可能会受到设备屏幕密度的影响,可能...

    android EditText禁止输入法表情

    在Android开发中,`EditText` 是一个非常常用的控件,用于接收用户输入的文字。然而,在当前的移动设备环境中,许多用户喜欢使用各种表情符号来增强沟通的趣味性。但有些场景下,例如登录、注册或者数据录入等,我们...

    android edittext不弹出软键盘三种方法

    android edittext不弹出软键盘三种方法“: 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如: &lt;activity android:name=".Main" android:...

    android ListView中EditText被选中时弹出键盘会丢失EditText的焦点

    这将使ListView允许或优先获取焦点,防止ListView在软键盘弹出时抢占EditText的焦点。 ```xml android:descendantFocusability="beforeDescendants" ... /&gt; ``` 2. **Override onInterceptTouchEvent**:在...

    Android EditText 正则表达式 限制数字、字母、字符 输入 密码框

    在Android开发中,`EditText`是用于用户输入文本的基本组件,常常用于收集用户的数据,如密码、邮箱地址等。为了确保用户输入的数据符合特定格式,我们可以利用正则表达式(Regular Expression)进行验证。正则...

    Android-AndroidEditText多行文本输入字数统计限制数量

    在Android开发中,`EditText`组件是用于接收用户输入文本的关键元素。在许多应用场景中,我们可能需要对用户的输入进行一些限制,比如限制输入的字数。本篇将深入探讨如何实现`Android EditText`的多行文本输入字数...

    android EditText 详解

    2. **焦点变化事件**:`FocusChangeListener`监听`EditText`获得或失去焦点。 ```java editText.setOnFocusChangeListener((v, hasFocus) -&gt; { if (hasFocus) { // 获得焦点时的操作 } else { // 失去焦点时的...

Global site tag (gtag.js) - Google Analytics