一、重写EditText方法:
记事本应用中,将编写记事界面改写成了有行数的形式。默认的EditText不支持该功能,故此重新EditText方法,自己划线。
public class MyEditText extends EditText{
public MyEditText(Context context){
super(context);
}
@Override
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
int height=getLineHeight();// 获取到线的高度
int i=(int)(getHeight()/height);// 总的高度/线的高度
i=Math.max(i, getLineCount());// 取行数与i的最大值
int a=height/2;
Paint myPaint=new Paint();//定义一个新的画笔
myPaint.setColor(color.black);//画笔的颜色是黑色的
for(int j=1;j<i;j++){
canvas.drawLine(0,height*(j)+25,getWidth(), height*(j)+25, myPaint);//当前(x1,y1)和(x2,y2)以及画笔颜色
}
}
}
二、实现在EditText中划线功能:
1) 用java代码实现:
contentText = new MyEditText(this);//新建一个MyEditText()
contentText.setHint("编辑。。。");
contentText.setMinLines(20);
contentText.setTextSize(23);
contentText.setGravity(Gravity.TOP);
layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(10, 10, 30, 30);
linearLayout.addView(contentText, layoutParams);
2) 用xml文件实现:
android: layout_width="match_parent"
android: layout_height="fill_parent"
android: gravity ="top"
android: textSize="25sp"
android: minLines="10"
三、实现字符串的分割:(记事中的前五个字符作为记事本的title)
// String text = getIntent().getStringExtra(DataBase.TEXT);//将记事本的内容取出放在text中
记事本应用中,将编写记事界面改写成了有行数的形式。默认的EditText不支持该功能,故此重新EditText方法,自己划线。
public class MyEditText extends EditText{
public MyEditText(Context context){
super(context);
}
@Override
protected void onDraw(Canvas canvas){
super.onDraw(canvas);
int height=getLineHeight();// 获取到线的高度
int i=(int)(getHeight()/height);// 总的高度/线的高度
i=Math.max(i, getLineCount());// 取行数与i的最大值
int a=height/2;
Paint myPaint=new Paint();//定义一个新的画笔
myPaint.setColor(color.black);//画笔的颜色是黑色的
for(int j=1;j<i;j++){
canvas.drawLine(0,height*(j)+25,getWidth(), height*(j)+25, myPaint);//当前(x1,y1)和(x2,y2)以及画笔颜色
}
}
}
二、实现在EditText中划线功能:
1) 用java代码实现:
contentText = new MyEditText(this);//新建一个MyEditText()
contentText.setHint("编辑。。。");
contentText.setMinLines(20);
contentText.setTextSize(23);
contentText.setGravity(Gravity.TOP);
layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(10, 10, 30, 30);
linearLayout.addView(contentText, layoutParams);
2) 用xml文件实现:
android: layout_width="match_parent"
android: layout_height="fill_parent"
android: gravity ="top"
android: textSize="25sp"
android: minLines="10"
三、实现字符串的分割:(记事中的前五个字符作为记事本的title)
// String text = getIntent().getStringExtra(DataBase.TEXT);//将记事本的内容取出放在text中
// head.setText(text.substring(0, 5));//取text的前五个字符作为标题
String text = getIntent().getStringExtra(DataBase.TEXT);
String path = getIntent().getStringExtra(DataBase.IMAGE_PATH);
int textLEN=text.length();
Log.d(TAG, "textLEN="+textLEN);
if(textLEN<=5){
head.setText(text);
}
else{
head.setText(text.substring(0, 5));//进入某一记事察看相关内容时显示的title
}