Android--去除EditText边框,添加下划线

本文介绍如何在Android中使用自定义的LineEditText组件为EditText添加下划线效果。通过继承EditText并利用Canvas和Paint绘制下划线,实现文本输入框的自定义样式。

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

[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <span style="font-family: Arial, Helvetica, sans-serif;"><?xml version="1.0" encoding="utf-8"?>    </span>  
[html]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      
  2.     android:layout_width="fill_parent"      
  3.     android:layout_height="fill_parent"      
  4.     >      
  5. <!--注意名称 -->      
  6. <com.marine.study.LineEditText       
  7.           
  8.     android:id="@+id/myEdit"      
  9.     android:layout_width="fill_parent"       
  10.     android:layout_height="wrap_content"       
  11.     style="?android:attr/textViewStyle"       
  12.     android:background="@null"      
  13.     android:textColor="@null"       
  14. />      
  15. </LinearLayout>    


其中background,可以设置成其他颜色等

textColor不一定要是null,可以设置字体颜色


加下划线

[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. public class LineEditText extends EditText {  
  2.       // 画笔 用来画下划线  
  3.     private Paint paint;  
  4.     
  5.       public LineEditText(Context context, AttributeSet attrs) {  
  6.           super(context, attrs);  
  7.           paint = new Paint();  
  8.           paint.setStyle(Paint.Style.STROKE);  
  9.           paint.setColor(Color.RED);  
  10.          // 开启抗锯齿 较耗内存  
  11.          paint.setAntiAlias(true);  
  12.      }  
  13.    
  14.        @Override  
  15.      protected void onDraw(Canvas canvas) {  
  16.          super.onDraw(canvas);  
  17.          // 得到总行数  
  18.          int lineCount = getLineCount();  
  19.          // 得到每行的高度  
  20.          int lineHeight = getLineHeight();  
  21.          // 根据行数循环画线  
  22.          for (int i = 0; i < lineCount; i++) {  
  23.              int lineY = (i + 1) * lineHeight;  
  24.              canvas.drawLine(0, lineY, this.getWidth(), lineY, paint);  
  25.          }  
  26.    
  27.      }  
  28.    
  29.  }  



转载:http://blog.youkuaiyun.com/chaoyu168/article/details/50698197

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值