Android 去除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)});  
    }  
      
}  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM