国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android中實(shí)現(xiàn)記事本動(dòng)態(tài)添加行效果

2019-10-22 18:35:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文主要給大家介紹了關(guān)于Android實(shí)現(xiàn)記事本動(dòng)態(tài)添加行的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面來(lái)一起看看詳細(xì)的介紹:

先看效果圖:

android,動(dòng)態(tài)添加行,記事本,android記事本開(kāi)發(fā)

這是昨天在群里面有人在問(wèn)這個(gè)問(wèn)題,在這里順便記錄一下,這個(gè)效果我們可以自定義EditText,實(shí)現(xiàn)起來(lái)也不難

看詳細(xì)步驟:

第一:初始化Paint,這里肯定要用到畫(huà)筆的

  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里面計(jì)算一下偏移量就可以

 float startX = getPaddingLeft();//開(kāi)始位置  float stopX = getWidth() - getPaddingRight();//結(jié)束位置  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();//開(kāi)始位置  float stopX = getWidth() - getPaddingRight();//結(jié)束位置  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/196350.html">android:id="@+id/textview"  android:text="啊發(fā)發(fā)十分啊發(fā)發(fā)十分大發(fā)放大發(fā)放"  android:textSize="18sp"  android:background="@null"  android:layout_width="match_parent"  android:layout_height="wrap_content" />

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)VEVB武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到Android開(kāi)發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 舟山市| 吴江市| 大埔区| 松潘县| 吉木萨尔县| 阜城县| 滦平县| 陇西县| 重庆市| 夏邑县| 江城| 怀化市| 黑河市| 蒲江县| 安龙县| 邮箱| 老河口市| 农安县| 章丘市| 全椒县| 依兰县| 宁武县| 大同市| 礼泉县| 东阿县| 红桥区| 荔浦县| 张家口市| 偃师市| 南靖县| 绵竹市| 旺苍县| 富宁县| 武山县| 秦皇岛市| 清水县| 岳西县| 宣武区| 汝南县| 呼图壁县| 惠来县|