`
ck19860613
  • 浏览: 87416 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

自定义信笺纸样式的EditText

 
阅读更多

效果图如下

带线条的背景

 

图片

换行时自动追加底线

 

图片

可以更改底线颜色


 

//创建一个继承自EditText的组件

public class MyNote extends EditText{
     private static final String TAG ="MyNote";
     private final String PACKAGE_NAME ="com.ick.testnote";
     private int color;

     public MyNote(Context context, AttributeSet attrs) {
          super(context, attrs);

          //获得自定义属性资源id

          //第一个参数:spaceName

          //第二个参数:属性名

          //第三个参数:如果属性不存在则要使用的默认值
          int resourceId = attrs.getAttributeResourceValue(PACKAGE_NAME, "backgroud", R.color.green);

          //得到id对应的颜色值
          color = getResources().getColor(resourceId);
     }
 
     @Override
     protected void onDraw(Canvas canvas) {
  
          int lineHeight =  this.getLineHeight(); 
          Paint mPaint = getPaint();
          mPaint.setColor(color);
          int topPadding =this.getPaddingTop();
          int leftPadding = this.getPaddingLeft();
          float textSize = getTextSize();
          setGravity(Gravity.LEFT|Gravity.TOP);
          int y = (int) (topPadding + textSize);
          for(int i=0; i<getLineCount(); i++) {
              canvas.drawLine(leftPadding, y+2, getRight()-leftPadding, y+2, mPaint);
              y+=lineHeight;
         }
        canvas.translate(0, 0);
        super.onDraw(canvas);
    }

   /**
    * 设置记事本的编辑框背景线条颜色
    * @param color int type【代表颜色的整数】
    */
    public void setBGColor(int color) {
        this.color = color;
        invalidate();
    }
 
    /**
     * 设置记事本的编辑框背景线条颜色
     * @param colorId int type【代表颜色的资源id】
     */
    public void setBGColorId(int colorId) {
        this.color = getResources().getColor(colorId);
        invalidate();
    }

}

 

  • 大小: 7.9 KB
  • 大小: 8.3 KB
  • 大小: 8.3 KB
分享到:
评论

相关推荐

    Android编程实现在自定义对话框中获取EditText中数据的方法

    本文实例讲述了Android编程实现在自定义对话框中获取EditText中数据的方法。分享给大家供大家参考,具体如下: 在项目中忽然遇到这样的问题,需要自定义对话框,对话框需要有一个输入框,以便修改所选中的价格,然后...

    自定义数字键盘和edittext

    本文将深入探讨如何在Android中实现自定义数字键盘以及与之配套的EditText功能,包括键盘的显示、隐藏、输入清除等操作。 首先,我们来了解自定义数字键盘的基本概念。在Android系统中,原生键盘提供了多种类型,...

    自定义带clear按钮EditText

    在Android开发中,EditText是用于用户输入文本的基本控件,而“自定义带clear按钮的EditText”则是在标准EditText的基础上进行的功能扩展。这种扩展通常是为了提高用户体验,让用户能够更方便地清空输入内容,特别是...

    安卓自定义ListView中含有EditText控件

    然而,当在自定义的ListView中添加EditText控件时,会遇到一些特殊的挑战,因为ListView的复用机制可能导致数据丢失或者冲突。本文将深入探讨如何在自定义ListView中正确地使用和管理EditText控件。 首先,我们需要...

    android 自定义带删除按钮的EditText

    你可以根据需要自定义删除按钮的样式和位置,以及添加更多的交互逻辑,如动画效果。 最后,为了在布局文件中使用这个自定义的EditText,只需像使用普通EditText一样引用它,并在XML中指定对应的类名: ```xml ...

    edittext自定义密码输入框

    同时,自定义Edittext的样式和动画效果也可以通过修改其属性或在代码中动态设置来调整,以满足不同设计需求。 综上所述,通过创建自定义的Edittext并监听文本变化,我们可以实现一个下划线类型的密码输入框,支持...

    自定义牛逼的EditText特效输入框

    然而,系统默认的EditText样式往往过于简单,无法满足所有应用的设计需求,因此自定义EditText变得尤为重要。 这个项目的重点在于“特效”二字。特效可能包括但不限于以下几点: 1. 动态边框:当用户点击或聚焦时...

    自定义editText

    在实际应用中,自定义EditText可能还需要考虑其他的细节,比如删除按钮的显示与隐藏策略(例如,只有当EditText有内容时才显示)、按钮样式和交互效果、以及兼容不同屏幕尺寸和方向等。这些都是在自定义过程中需要...

    自定义EditText带加减的

    大家在做商城购物类的APP时,肯定遇到过需要自定义带加减的EditText 那么我上传的这个自定义的EditText: 1.可以根据个人的实际UI需求,修改成自己喜欢的颜色和形状。 2.里面的加和减的业务逻辑判断已完善,大部分...

    自定义带下滑线的EditText

    3. 如果需要,还可以添加其他自定义功能,如监听输入事件、改变文本样式等。 4. 最后,在XML布局文件中使用自定义的`CusTomLineEditText`,并可以设置相应的属性: ```xml android:layout_width="match_parent...

    Android自定义EditText

    在Android开发中,自定义EditText控件是一种常见的需求,它可以让开发者根据应用的特定需求定制输入框的样式、行为和功能。本篇文章将深入探讨如何在Android中实现自定义EditText,帮助开发者拓展其应用程序的用户...

    自定义控件--自定义Button和EditText

    EditText是用户输入文本的界面元素,自定义通常用于增强其样式、验证输入或者添加额外功能: 1. 创建新类,继承自`AppCompatEditText`或`EditText`。 2. 可以重写`onDraw()`方法,自定义背景、光标样式、输入文字的...

    自定义组件-EditText

    通过自定义`EditText`,我们可以扩展其功能、调整样式或者实现独特的交互效果。 首先,`EditText`是Android SDK中的一个视图类,继承自`TextView`。它的主要功能是提供一个文本输入框,用户可以在其中输入文字。在...

    Android自定义控件EditText使用详解

    Android自定义控件EditText使用详解 Android自定义控件EditText是Android开发中常用的控件之一,它可以满足开发者的多种需求。在本文中,我们将详细介绍Android自定义控件EditText的使用方法,包括自定义控件的分类...

    Android EditText自定义样式的方法

    这仅仅是自定义EditText样式的冰山一角,还可以通过设置字体、文字大小、输入过滤器、输入类型、错误提示等属性来进一步定制。记住,Android的样式系统非常灵活,开发者可以根据需求进行深度定制,打造独一无二的...

    带清除图标的 EditText ( 自定义EditText

    本文将详细探讨如何在Android中自定义一个带有清除图标的`EditText`。 首先,我们需要理解`EditText`的基本用法。`EditText`继承自`TextView`,是Android中处理文本输入的控件。在XML布局文件中,我们可以直接声明...

    android自定义带下划线EditText

    EditText是Android系统提供的一个用于用户输入文本的控件,它继承自TextView,具有多种样式和功能,如设置输入类型、输入限制等。默认情况下,EditText通常显示为一个矩形框,但如果我们想要添加下划线,就需要对其...

    自定义Android Dialog EditText 密码输入框

    在上述代码中,我们加载了一个名为`dialog_password`的XML布局文件,该文件定义了EditText和自定义图标的布局。通过`findViewById`方法找到对应的视图元素,然后设置`TextWatcher`监听EditText中的文本变化。在`...

Global site tag (gtag.js) - Google Analytics