自定义仿PC端IP输入EditText控件

本文介绍如何创建一个仿PC端的IP输入EditText控件,解决光标颜色不闪烁问题,并在机顶盒开发中设定固定尺寸。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LinearLayout布局 ,四个maxLength为3的EditText+三个"."的TextView
问题1, 因为此控件被引用,而上层的布局嵌套过多,导致耗时
 未解决 , 解决方案猜想:异步,开启新线程或借助AsyncTask等
    问题原因,此控件内EditText和TextView的宽高使用了 wrap-content match_parent,导致加载时需要测量宽高,耗时.
    使用固定值之后,效率由原来的 打开dialog 7s减少至2s左右
    仍有优化空间

问题2,光标颜色textCursorDrawable 改变后关闭不闪烁,只能设置为@null,和字体颜色一致,可解决不闪烁的问题

问题3,因为是机顶盒开发,固定了长和高为px值


布局文件,四个EditText+3个"."

<?xml version="1.0" encoding="utf-8"?>
<!-- 自定义EditText的布局,用于IP地址等的输入 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="@dimen/setting_network_info_content_width"
    android:layout_height="@dimen/setting_network_info_item_height"
    android:background="#00000000"
    android:gravity="center_vertical" >

    <EditText
        android:id="@+id/local_edit_1"
        style="@style/edittext_ip"
        android:nextFocusRight="@+id/local_edit_2" />

    <TextView
        style="@style/textview_dot_ip"
        android:text="." />

    <EditText
        android:id="@+id/local_edit_2"
        style="@style/edittext_ip"
        android:nextFocusLeft="@+id/local_edit_1"
        android:nextFocusRight="@+id/local_edit_3" />

    <TextView
        style="@style/textview_dot_ip"
        android:text="." />

    <EditText
        android:id="@+id/local_edit_3"
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值