Android--自定义带提示文本的EditText组件

来源:互联网 发布:python绘制二维散点图 编辑:程序博客网 时间:2024/06/05 17:10

http://blog.csdn.net/zlqqhs/article/details/8583962


效果图如下:

 

 

两个类,一个继承Activity的类,一个继承EditText的类,一个xml文件

 

继承Activity的类:

 

[html] view plaincopy
  1. import android.app.Activity;  
  2. import android.os.Bundle;  
  3.   
  4. public class EditTestActivity extends Activity {  
  5.     /** Called when the activity is first created. */  
  6.     @Override  
  7.     public void onCreate(Bundle savedInstanceState) {  
  8.         super.onCreate(savedInstanceState);  
  9.         setContentView(R.layout.edittest);  
  10.     }  
  11. }  


 

 

 

继承EditText的类:

 

[html] view plaincopy
  1. package com.mrzhu.edittest;  
  2.   
  3. import android.content.Context;  
  4. import android.graphics.Canvas;  
  5. import android.graphics.Color;  
  6. import android.graphics.Paint;  
  7. import android.util.AttributeSet;  
  8. import android.widget.EditText;  
  9.   
  10. public class EditTextTest extends EditText {  
  11.   
  12.     public EditTextTest(Context context) {  
  13.         super(context);  
  14.     }  
  15.       
  16.     public EditTextTest(Context context, AttributeSet attrs, int defStyle) {  
  17.         super(context, attrs, defStyle);  
  18.     }  
  19.   
  20.     public EditTextTest(Context context, AttributeSet attrs) {  
  21.         super(context, attrs);  
  22.     }  
  23.   
  24.     @Override  
  25.     protected void onDraw(Canvas canvas) {  
  26.         Paint paint = new Paint();  
  27.         paint.setTextSize(20);  
  28.         paint.setColor(Color.GRAY);  
  29.         canvas.drawText("输入提示文本:", 10, getHeight() / 2 + 5, paint);  
  30.         super.onDraw(canvas);  
  31.     }  
  32. }  


 

 

edittext.xml文件:

 

[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:orientation="vertical" >  
  6.     <com.mrzhu.edittest.EditTextTest  
  7.         android:layout_width="fill_parent"  
  8.         android:layout_height="wrap_content"  
  9.         android:paddingLeft="100dp"  
  10.         android:text="从此处输入文本"  
  11.         android:id="@+id/test"  
  12.         />  
  13. </LinearLayout> 

原创粉丝点击