三九宝宝网宝宝百科宝宝知识

Android如何实现竖排文字显示

03月26日 编辑 39baobao.com

[如何让wps文字中的文字竖排显示]2在页面设置窗口下,点击文档网格选项卡3在文档网格选项卡中点选垂直并单击确定即可。4最终效果如下。WPS文字常用快捷键创建新文档 Ctrl+N或者Alt+F+N(对应New) 打开文档...+阅读

在android.graphics.Canvas类中有个沿路径画字的方法 void drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint) Draw the text, with origin at (x,y), using the specified paint, along the specified path. void drawTextOnPath(char[] text, int index, int count, Path path, float hOffset, float vOffset, Paint paint) Draw the text, with origin at (x,y), using the specified paint, along the specified path. Test.java代码://需要在layout中定义Test,且设置背景,在java代码中设置test Text public class Test extends View { private Paint paint; private Path path; private Matrix matrix; private int width = -1; private int height = -1; private float left = 3; private float top = 18; private String title = ""; BitmapDrawable drawable = (BitmapDrawable) getBackground(); public Test(Context context, AttributeSet attrs) { super(context, attrs); paint = new Paint(); paint.setColor(Color.WHITE);//定义字体颜色 paint.setTextSize(14);//定义字体大小 path = new Path(); path.lineTo(0,500);//定义字符路径 matrix = new Matrix(); Log.v("onMeasure", "2"); } Override protected void onDraw(Canvas canvas) { //画背景 Bitmap b = Bitmap.createBitmap(drawable.getBitmap(),0,0,width,height); canvas.drawBitmap(b, matrix, paint); //画字 showText(canvas, title); } private void showText(Canvas canvas, String text){ float w; final int len = text.length(); float py = 0 + top; for(int i=0; i81){//定义字的范围 return; } if(isChinese(c)){ py += w; if(py >81){ return; } canvas.drawText(b.toString(), left, py, paint); //中文处理方法 }else { canvas.drawTextOnPath(b.toString(), path, py, -left-2, paint);//其他文字处理方法 py += w; } } } public void setText(String title){ this.title = title; } public String getText(){ return title; } private boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) { return true; } return false; } //重写View大小方法,使view大小为背景图片大小 Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // super.onMeasure(widthMeasureSpec, heightMeasureSpec); if (null != getBackground()) { int h = drawable.getIntrinsicHeight(); int w = drawable.getIntrinsicWidth(); Log.v("onMeasure", "null != getBackground() h:" + h + " w:" + w); width = w; height = h; setMeasuredDimension(w, h); } else { width = widthMeasureSpec; height = heightMeasureSpec; super.measure(widthMeasureSpec, heightMeasureSpec); } } } 在Android中,若要通过程序改变屏幕显示的方向,必须要覆盖setRequestedOrientation()方法,而若要取得目前的屏幕方向,则需要访问getRequestedOrientation()方法。

本范例为求简要示范更改做法,设计了一个按钮,当单击按钮的同时,判断当下的屏幕方向,例如竖排(PORTRAIT),则将其更改为横排(LANDSCAPE);若为横排(LANDSCAPE),则将其更改为竖排(PORTRAIT)

以下为关联文档:

如何在普通的显示屏上面实现多点触控没钱照样玩win7多点触控! 硬件材料说明 一个摄像头、一个纸盒子、一张A4的打印纸、一张透明的塑料膜和一卷透明胶。摄像头用30万像素的廉价品足以,不过为了方便固定,可不要选择...

android自定义控件怎么实现动态绘制代码: public class MyView extends View { //坐标轴原点的位置 private int xPoint=60; private int yPoint=260; //刻度长度 private int xScale=8; //8个单位构成一个刻度...

求解:android中如何实现动态插入控件直接给你上代码吧,写了我半个小时,经过了我的测试了的~运行下就能看到结果了~关键的remove的时候有给你写注释~布局的layout文件内容:---------------------------------------...

css中怎样使一列的文字竖排显示语法:writing-mode:lr-tb或writing-mode:tb-rl 参数: 1、lr-tb:从左向右,从上往下 2、tb-rl:从上往下,从右向左 运行代码发现,IE显示正常,火狐却不行,所以不建议使用writing-mode属性...

如何用css让文字竖排显示但不反向方法 一、 <div style="layout-flow:vertical-ideographic"&gt; 轻轻的<BR&gt; 我走了<BR&gt; 就如我轻轻的来<BR&gt; 挥一挥袖子<BR&gt; 不带走一个女孩<BR&gt; 哎哟……<BR&gt; 怎...

div css文章段落怎么竖排显示<div class="text"> <ul class="tb-rl"> <li class="test"> <h3&gt;这里是文字标题</h3&gt; 本段文字将按照垂直从右到左的书写方向进行流动。 </li> <li class="test"> <h3&gt;这里是...

Photoshop如何快速实现文字人物效果第一步 当然是要打开图片,解锁备份啦第二步 为了得到强烈对比的黑白照,可在修改图层样式里调整阈值第三步 CTRL+SHIFT+ALT+E盖印图层(这样既把图层合并了,还能保留原来的图层,继...

如何实现Android ListView快速查找功能关于SectionIndexer接口TextView floatTextView = (TextView)LayoutInflater.from(this).inflate(R.layout.list_position, null); WindowManager.LayoutParams layoutParams = new WindowManager....

如何在excel表格里设置竖排文字1,打开需要编辑的excel文档,录入相关的文字,为了美观,有的单元格的文字,需要数列排版更方便和美观,这时需要设置竖排版。 2,首先,先左键双击需要数列排版的单元格,然后右键点击该单元...

推荐阅读
图文推荐