本文主要給大家介紹了關于Android實現記事本動態添加行的相關內容,分享出來供大家參考學習,下面來一起看看詳細的介紹:
創新互聯主要從事做網站、網站制作、網頁設計、企業做網站、公司建網站等業務。立足成都服務疊彩,10多年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:13518219792
先看效果圖:

這是昨天在群里面有人在問這個問題,在這里順便記錄一下,這個效果我們可以自定義EditText,實現起來也不難
看詳細步驟:
第一:初始化Paint,這里肯定要用到畫筆的
this.paint = new Paint(); paint.setStyle(Paint.Style.STROKE); paint.setColor(getResources().getColor(R.color.paper_line)); paint.setStrokeWidth(getLineHeight() / 10); paint.setStrokeCap(Paint.Cap.ROUND);
第二步:在onDraw里面計算一下偏移量就可以
 float startX = getPaddingLeft();//開始位置
  float stopX = getWidth() - getPaddingRight();//結束位置
  float offsetY = getPaddingTop() - getPaint().getFontMetrics().top + paint.getStrokeWidth() * 2;//行間距
  for (int i = 0; i < getLineCount(); ++i) {
   float y = offsetY + getLineHeight() * i;
   canvas.drawLine(startX, y, stopX, y, paint);
  }Ok,這樣就輕松搞定了。
全部代碼:
/**
 * Created by dong.he on 2017/4/20 0020.
 */
public class LinedEditText extends EditText {
 Paint paint;
 public LinedEditText(Context context) {
  super(context);
  init();
 }
 public LinedEditText(Context context, AttributeSet attrs) {
  super(context, attrs);
  init();
 }
 public LinedEditText(Context context, AttributeSet attrs, int defStyleAttr) {
  super(context, attrs, defStyleAttr);
  init();
 }
 @Override
 protected void onDraw(Canvas canvas) {
  float startX = getPaddingLeft();//開始位置
  float stopX = getWidth() - getPaddingRight();//結束位置
  float offsetY = getPaddingTop() - getPaint().getFontMetrics().top + paint.getStrokeWidth() * 2;//行間距
  for (int i = 0; i < getLineCount(); ++i) {
   float y = offsetY + getLineHeight() * i;
   canvas.drawLine(startX, y, stopX, y, paint);
  }
  super.onDraw(canvas);
 }
 private void init() {
  this.paint = new Paint();
  paint.setStyle(Paint.Style.STROKE);
  paint.setColor(getResources().getColor(R.color.paper_line));
  paint.setStrokeWidth(getLineHeight() / 10);
  paint.setStrokeCap(Paint.Cap.ROUND);
 }
}xml:
<com.example.donghe.myview.view.LinedEditText android:id="@+id/textview" android:text="啊發發十分啊發發十分大發放大發放" android:textSize="18sp" android:background="@null" android:layout_width="match_parent" android:layout_height="wrap_content" />
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對創新互聯的支持。
                網頁名稱:Android中實現記事本動態添加行效果
                
                本文鏈接:http://www.yijiale78.com/article12/jdojdc.html
            
成都網站建設公司_創新互聯,為您提供云服務器、靜態網站、、微信公眾號、網站設計公司、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
