android自定义带标题的输入框,Android 实现带头部文字输入框的自定义控件

本文介绍如何在Android中创建一个自定义的输入框组件EditInputView,该组件带有头部文字,支持XML定义样式和属性,简化布局文件,提高代码可维护性。内容包括组件的使用方法、源码解析以及相关属性的设置。
摘要由CSDN通过智能技术生成

前言

在app的输入框中,需要应用到很多带有前缀说明的输入框,运用原有的输入框和文本控件,一个带头部的输入框就会增加三个控件在layout文件中。当布局文件输入框较少的情况下,这样对后期维护影响不大,但在多个带头部的输入框下,布局文件代码量会很大,影响阅读以及后期维护。而封装过后的控件,在使用中仅仅需要几行代码可实现几十行的效果。

简介

带头部文字的输入框

可在xml定义头部文字样式

可在xml定义输入框样式

可在xml定义提示文字样式

可在xml定义头部和输入框的间距和边距

效果图

6868d2e6214314ff548fdada0ae297b3.png

使用方法

android:layout_width="match_parent"

android:layout_height="50dp"

app:inputMarginStart="10dp"

app:headerText="姓名"

app:hint="请输入联系人姓名"

app:inputType="text"

app:maxLength="30"/>

源码在这

有帮助请点个赞

attrs.xml 属性文档

common_edit_input_view.xml 布局文件

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/tv_edit_head"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:gravity="start|center_vertical"/>

android:id="@+id/et_edit_input"

android:layout_toEndOf="@id/tv_edit_head"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:singleLine="true"

android:background="@null"

android:textColor="@color/c_2B303C"

android:gravity="end|center_vertical"/>

EditInputView.java 控件类

package com.momin.common.widget;

import android.content.Context;

import android.content.res.TypedArray;

import android.graphics.Typeface;

import android.text.InputFilter;

import android.text.TextUtils;

import android.util.AttributeSet;

import android.view.Gravity;

import android.view.LayoutInflater;

import android.view.inputmethod.EditorInfo;

import android.widget.EditText;

import android.widget.RelativeLayout;

import android.widget.TextView;

import androidx.annotation.ColorRes;

import androidx.annotation.NonNull;

import androidx.annotation.Nullable;

import androidx.core.content.ContextCompa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值