真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android中用StaticLayout實(shí)現(xiàn)文本繪制自動(dòng)換行詳解-創(chuàng)新互聯(lián)

前言

成都創(chuàng)新互聯(lián)主營(yíng)漳州網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開(kāi)發(fā),漳州h5微信小程序開(kāi)發(fā)搭建,漳州網(wǎng)站營(yíng)銷推廣歡迎漳州等地區(qū)企業(yè)咨詢

使用Canvas的drawText繪制文本是不會(huì)自動(dòng)換行的,即使一個(gè)很長(zhǎng)很長(zhǎng)的字符串,drawText也只顯示一行,超出部分被隱藏在屏幕之外。可以逐個(gè)計(jì)算每個(gè)字符的寬度,通過(guò)一定的算法將字符串分割成多個(gè)部分,然后分別調(diào)用drawText一部分一部分的顯示, 但是這種顯示效率會(huì)很低。

StaticLayout是android中處理文字換行的一個(gè)工具類, StaticLayout 已經(jīng)實(shí)現(xiàn)了文本繪制換行處理,下面是如何使用 StaticLayout 的例子:

示例代碼

package com.example.amdroidstaticlayoutdemo;
import android.support.v4.app.Fragment;
import android.text.Layout.Alignment;
import android.text.StaticLayout;
import android.text.TextPaint;
import android.app.Activity;
import android.content.Context;
                                                                   
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.os.Build;
public class MainActivity extends Activity {
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(new MyView(this));
 }
 public class MyView extends View { 
                                                                      
  Paint mPaint; //畫(huà)筆,包含了畫(huà)幾何圖形、文本等的樣式和顏色信息 
  public MyView(Context context) { 
   super(context);  
  } 
                                                                      
  public MyView(Context context, AttributeSet attrs){ 
   super(context, attrs); 
  } 
                                                                      
  public void onDraw(Canvas canvas){ 
   super.onDraw(canvas); 
   TextPaint tp = new TextPaint();
   tp.setColor(Color.BLUE);
   tp.setStyle(Style.FILL);
   tp.setTextSize(50);
   String message = "paint,draw paint指用顏色畫(huà),如油畫(huà)顏料、水彩或者水墨畫(huà),而draw 通常指用鉛筆、鋼筆或者粉筆畫(huà),后者一般并不涂上顏料。兩動(dòng)詞的相應(yīng)名詞分別為p";
   StaticLayout myStaticLayout = new StaticLayout(message, tp, canvas.getWidth(), Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
   myStaticLayout.draw(canvas);
   canvas.restore();
  } 
 } 
}

網(wǎng)站欄目:Android中用StaticLayout實(shí)現(xiàn)文本繪制自動(dòng)換行詳解-創(chuàng)新互聯(lián)
本文來(lái)源:http://weahome.cn/article/cddejs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部