亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中實現記事本動態添加行效果

發布時間:2020-10-03 20:04:09 來源:腳本之家 閱讀:171 作者:何東_hd 欄目:移動開發

本文主要給大家介紹了關于Android實現記事本動態添加行的相關內容,分享出來供大家參考學習,下面來一起看看詳細的介紹:

先看效果圖:

Android中實現記事本動態添加行效果

這是昨天在群里面有人在問這個問題,在這里順便記錄一下,這個效果我們可以自定義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" />

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

揭西县| 龙胜| 南开区| 望奎县| 仪征市| 耿马| 香格里拉县| 定陶县| 达拉特旗| 晋州市| 金乡县| 尚义县| 布尔津县| 津市市| 玉屏| 乌兰察布市| 革吉县| 靖宇县| 卢氏县| 翁源县| 海南省| 汝城县| 尼玛县| 兰州市| 同德县| 德江县| 永仁县| 耒阳市| 潍坊市| 循化| 柞水县| 马公市| 松滋市| 常宁市| 朝阳区| 青海省| 淮阳县| 搜索| 广饶县| 汽车| 寿光市|