Android Paint类


Paint画笔对象,这个类中包含了如何绘制几何图形、文字和位图的样式和颜色信息,指定了如何绘制文本和图形。画笔对象右很多设置方法,大体上可以分为两类:一类与图形绘制有关,一类与文本绘制有关。

Paint类中有如下方法:

1.图形绘制

  1. setArgb(int a, int r, int g, int b):设置绘制的颜色,a表示透明度,r、g、b表示颜色值;
  2. setAlpha(int a):设置绘制的图形的透明度;
  3. setColor(int color):设置绘制的颜色;
  4. setAntiAlias(boolean a):设置是否使用抗锯齿功能,抗锯齿功能会消耗较大资源,绘制图形的速度会减慢;
  5. setDither(boolean b):设置是否使用图像抖动处理,会使图像颜色更加平滑饱满,更加清晰;
  6. setFileterBitmap(Boolean b):设置是否在动画中滤掉Bitmap的优化,可以加快显示速度;
  7. setMaskFilter(MaskFilter mf):设置MaskFilter来实现滤镜的效果;
  8. setColorFilter(ColorFilter cf):设置颜色过滤器,可以在绘制颜色时实现不同颜色的变换效果;
  9. setPathEffect(PathEffect pe):设置绘制的路径的效果;
  10. setShader(Shader s):设置Shader绘制各种渐变效果;
  11. setShadowLayer(float r, int x, int y, int c):在图形下面设置阴影层,r为阴影角度,x和y为阴影在x轴和y轴上的距离,c为阴影的颜色;
  12. setStyle(Paint.Style s):设置画笔的样式:FILL实心;STROKE空心;FILL_OR_STROKE同时实心与空心;
  13. setStrokeCap(Paint.Cap c):当设置画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的图形样式;
  14. setStrokeJoin(Paint.Join j):设置绘制时各图形的结合方式;
  15. setStrokeWidth(float w):当画笔样式为STROKE或FILL_OR_STROKE时,设置笔刷的粗细度;
  16. setXfermode(Xfermode m):设置图形重叠时的处理方式;

2.文本绘制

  1. setTextAlign(Path.Align a):设置绘制的文本的对齐方式;
  2. setTextScaleX(float s):设置文本在X轴的缩放比例,可以实现文字的拉伸效果;
  3. setTextSize(float s):设置字号;
  4. setTextSkewX(float s):设置斜体文字,s是文字倾斜度;
  5. setTypeFace(TypeFace tf):设置字体风格,包括粗体、斜体等;
  6. setUnderlineText(boolean b):设置绘制的文本是否带有下划线效果;
  7. setStrikeThruText(boolean b):设置绘制的文本是否带有删除线效果;
  8. setFakeBoldText(boolean b):模拟实现粗体文字,如果设置在小字体上效果会非常差;
  9. setSubpixelText(boolean b):如果设置为true则有助于文本在LCD屏幕上显示效果;

3.其他方法

  1. getTextBounds(String t, int s, int e, Rect b):将页面中t文本从s下标开始到e下标结束的所有字符所占的区域宽高封装到b这个矩形中;
  2. clearShadowLayer():清除阴影层;
  3. measureText(String t, int s, int e):返回t文本中从s下标开始到e下标结束的所有字符所占的宽度;
  4. reset():重置画笔为默认值。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 中的 Paint 可以用来绘制各种形状和线条。下面是一个简单的示例,演示如何使用 Paint Android 中绘制直线。 首先,在 XML 布局文件中添加一个 View: ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <View android:id="@+id/drawing_view" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout> ``` 然后,在 Activity 中获取该 View 并绘制直线: ```java public class MainActivity extends AppCompatActivity { private View drawingView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); drawingView = findViewById(R.id.drawing_view); drawingView.setBackground(new CustomView(this)); } private class CustomView extends View { private Paint paint; public CustomView(Context context) { super(context); init(); } private void init() { paint = new Paint(); paint.setColor(Color.RED); paint.setStrokeWidth(5f); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); int startX = 0; int startY = 0; int stopX = getWidth(); int stopY = getHeight(); canvas.drawLine(startX, startY, stopX, stopY, paint); } } } ``` 在这个示例中,我们创建了一个 CustomView ,继承自 View ,并在该中实现了 onDraw() 方法。onDraw() 方法用于绘制 View 上的内容,我们在这里使用 Canvas 的 drawLine() 方法绘制了一条直线。 Paint 的实例被创建在 CustomView 的构造函数中,我们使用该实例设置了直线的颜色和线宽。如果需要绘制其他形状,也可以使用 Paint 的其他方法来设置笔刷、阴影、渐变等效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值