最近在实现一个小功能,原味的EditText不能很好满足我的要求,故思变。以下是小生在网上搜罗资料之后进行揉和的结果。
读者若有更好的想法,请不吝赐教,将不胜感激!
首先:重写EditText
//请在这里添加您的包名
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.EditText;
public class LineEditText extends EditText {
private Paint mPaint;
/**
* @param context
* @param attrs
*/
public LineEditText(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
mPaint = new Paint();
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setColor(Color.BLUE);
}
@Override
public void onDraw(Canvas canvas)
{
super.onDraw(canvas);
// 画底线
canvas.drawLine(0,this.getHeight()-1, this.getWidth()-1, this.getHeight()-1, mPaint);
}
}
其次:设置LineEditText
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<!--注意名称 -->
<com.marine.study.LineEditText
android:id="@+id/myEdit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="?android:attr/textViewStyle"
android:background="@null"
android:textColor="@null"
/>
</LinearLayout>
其中background,可以设置成其他颜色等
textColor不一定要是null,可以设置字体颜色
最后:应用LineEditText
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.os.Bundle;
import android.text.InputFilter;
import android.util.AttributeSet;
import android.widget.EditText;
public class LineEditTextTest extends Activity {
/** Called when the activity is first created. */
private EditText mEdit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mEdit=(LineEditText)findViewById(R.id.myEdit);
mEdit.setHint("从这里开始输入...");
mEdit.setSingleLine();
mEdit.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)});
}
}
分享到:
相关推荐
在`bachors-Android-Prefix-Input-94c23be`这个压缩包中,包含了`Android-Prefix-Input`项目的源码,开发者可以深入研究其内部实现,以便更好地理解和定制化使用。源码的学习有助于我们理解如何扩展Android的UI组件...
本教程将详细讲解如何在Android中改变`EditText`的边框颜色,适合初学者学习。 首先,我们要了解`EditText`的基本属性。`EditText`继承自`TextView`,并且添加了一些额外的功能,如文本输入和编辑。它的外观可以...
Android Form EditText Android form edit text is an extension of EditText that brings data validation facilities to the edittext. Example App I built an example app that showcase some of the ...
在Android应用开发中,EditText是用户输入文本的基本控件,而有时我们可能需要对用户的输入进行限制或提供一些额外的功能,比如在右下角显示字符数。本篇将详细讲解如何自定义一个EditText,实现一个计数控件,该...
android-widget-keyboardless-edittext, 没有键盘显示的Android 所有编辑操作仍然工作 KeyboardlessEditText本机 Android,除非用户与它交互时不会出现键盘。 所有其他编辑操作仍然工作。用户仍然可以使用这个小部件...
Android EditText Validations Easily Validate EditTexts This library is best used with Kotlin, and is to help reduce boilerplate code when writing validation rules for EditText fields. To install: ...
有时候,为了界面设计的需求,我们可能需要去掉`EditText`的默认边框,并在其下方添加一条下划线,使其看起来更加简洁美观。本文将详细介绍如何实现这个功能。 首先,去除`EditText`的边框,可以通过修改`EditText`...
android:id="@+id/editText01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/app1_edittext01"/> android:id="@+id/autoCompleteTextView01" android:...
Show/Hide Password EditText In Android Support Library, revision 24.2.0 (August 2016) ...Show/Hide Password EditText is a very simple extension of Android's EditText that puts a clickable hid
`ChipsLibrary` 是一个专门用于在Android的`EditText`组件中实现打Tag功能的开源库,它提供了一种高效且直观的方式来展示和管理用户输入的标签。这个库使得在输入框中创建、编辑和删除标签变得简单,极大地提升了...
在Android开发中,EditText是用于用户输入文本的基本组件,它在各种用户界面中扮演着重要角色。Material设计语言是Google推出的一种设计规范,旨在提供统一、直观且富有表现力的用户体验。当我们谈论“安卓EditText...
这个需求变态的地方在于,假如用一个EditText+TextView,那么不好控制二者之间的距离,就算是做了各种适配,但是用户可以设置系统的字体,仍然显示很难看!没办法,之好在一个EditText里面来实现号码部分可编辑,...
Easily switch between EditText and TextView seamlessly. Grab via Gradle :coffee: dependencies { implementation 'com.camerash:toggleedittextview:0.1.1' } Usage :computer: ToggleEditTextView In your ...
本文将详细阐述如何在Android中为EditText添加边框,并提供相关的代码清单。 1. **使用XML属性添加边框** 在Android中,可以通过修改`res/layout/activity_main.xml`布局文件中的EditText属性来添加边框。主要使用...
博客《实现RichEdit(一)---如何在EditText中插入图片表情》对应的源码,博文地址:http://blog.csdn.net/harvic880925/article/details/18146597
"android-edittext-validator-master.zip" 是一个专为Android平台设计的项目,专注于EditText组件的验证功能。这个项目提供了一种方便的方式来验证用户在EditText字段中输入的信息格式。 EditText是Android SDK中的...
在Android开发中,EditText是用户交互的一个重要组件,它允许用户输入文本,广泛应用于登录、注册、搜索等场景。这个开源项目"安卓EditText输入框相关-开源一个EditText的轮播动画效果"旨在提供一种创新的方式来增强...
•Android---UI篇---EditText(编辑框) • •Android---UI篇---DatePicker,TimePicker(日期和时间) • •Android---UI篇---ImageButton(带图标的按钮) • •Android---UI篇---RadioButton(单选按钮) • •Android...
在Android开发中,EditText是用于用户输入文本的基本控件,但有时我们可能需要更复杂的文本编辑功能,如插入图片、格式化文本等,这就是富文本编辑器的角色。本篇文章将详细探讨如何在Android中实现一个基于原生...
使用`android-edittext-validator`时,首先需要在布局XML文件中为EditText添加一个id,并设置一个验证器。例如,可以使用非空验证器如下: ```xml android:id="@+id/edt_email" android:layout_width="match_...