最近公司因需求,要我做个项目,其中有个功能就是在界面上添加文本,然后用户可以对添加的文本进行编辑,其中编辑的内容包括添加下划线,添加粗斜体,点阵字,和修改文本中的内容。 本人新手才实习,对这些也很陌生,于是在网上看了些资料,发现都是安卓自带的一些方法,或许有点画蛇添足不过还是分享下。
文本添加下划线:
TextView tv=(TextView)findViewById(R.id.tv);
tv.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
tv.setText("这是测试");
文本添加粗斜体:
TextView tv=(TextView)findViewById(R.id.tv);
String addtext="这是测试";
SpannableString ss=new SpannableString(addtext);
ss.setSpan( new StyleSpan(android.graphics.Typeface.BOLD_ITALIC),
0 , addtext.length() , Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
tv.setText(ss);
文本添加点阵字:把文本变成点阵字,主要是下载个点阵字的TTF或OTF文件,再到项目中的assets目录中创建fonts包把文件放进去
TextView tv=(TextView) findViewById(R.id.tv);
Typeface ty=Typeface.createFromAsset(getAssets(), "fonts/slanting.ttf");
tv.setTypeFace(ty);
文本的修改:修改主要是修改文本中的内容,可删除,可添加,于是我想点击修改按钮后,在原TextView的位置上,把TextView替换成EditText,修改完后点击下界面空白地方,把EditText又替换成TextView,这样就完成了文本的修改。
TextView tv=(TextView)findViewById(R.id.tv);
LinearLayout ll=(LinearLayout)findViewById(R.id.ll);
public void onClick(View view){
tv.setVisibility(View.GONE);
final EditText et=new EditText(this);
et.setX(tv.getX());
et.setY(tv.getY());
et.settext(tv.getText());
ll.addView(et);
ll.setOnClickListener(new OnClickListener(){
public void onClick(View view){
et.setVisibility(View.GONE);
tv.setVisibility(View.VISIBILE);
tv.setText(et.getText());<span style="color:#666666;">
}
})
}</span>
文本加粗:在xml文件中的TextView中添加
android:textStyle="bold"
字段就行了