view 画出一个形状,并在里面添加内容+文本居中
2017-11-01 18:58
323 查看
activity_main
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:custom="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent"> <lianxi.jdt.Circle android:layout_width="100dp" android:layout_height="100dp" /> </RelativeLayout>
Circle.java
import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; < 4000 span style="color:#000080;font-weight:bold;">import android.graphics.Rect; import android.util.AttributeSet; import android.view.View; /** * Created by lenovo on 2017/11/01. */ public class Circle extends View{ private Paint paint = new Paint(); public Circle(Context context) { super(context); } public Circle(Context context, AttributeSet attrs) { super(context, attrs); } public Circle(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //整体的颜色 //canvas.drawColor(Color.YELLOW); paint.setColor(Color.YELLOW); //正方形 canvas.drawRect(0,0,200,200,paint); //圆形
//canvas.drawCircle(200/2,200/2,100,paint);
// measureText 测量字符串的宽度
float textWidth = paint.measureText("123"); Rect rextText = new Rect(); // rextText.height() 获取字符串的高度 paint.getTextBounds("123", 0, "123".length(), rextText); int x = getWidth()/2-rextText.width()/2; int y = getHeight()/2+rextText.height()/2; paint.setTextSize(15); paint.setColor(Color.BLACK); canvas.drawText("123",x,y,paint);
}}
相关文章推荐
- Android UI 之居中绘制文本内容的正确方法——实现自定义一个TextView
- Android UI 之居中绘制文本内容的正确方法——实现自定义一个TextView
- Android UI 之居中绘制文本内容的正确方法——实现自定义一个TextView
- 让一个div里面的其它div或者标签内容居中
- iOS UI-利用可视化(StoryBoard)在Scroll View的内容中添加一个TableView和一个ColletionView
- 同一个菜单,在view和mainframe两个类里面添加响应函数的区别
- 在一个Activity里面的TextView上面添加网页链接,启动后到另一个Activity里面!
- 写一个简单的程序实现把txt文件里面有规则的内容全部添加到数据库中
- UITextField内容太靠左边,不美观,添加一个空白的leftView,让它缩进一点
- 在一个div内,动态添加一段文字,如何设置为不管内容多少都以 上下垂直居中 的形式展现?
- 将一个文件的内容添加到另一个文件里面
- 从CScrollView继承一个,然后可以往里面添加Dialog,类似于Panle
- 在一个Activity里面的TextView上面添加网页链接,启动后到另一个Activity里面!
- 在一个Activity里面的TextView上面添加网页链接,启动后到另一个Activity里面!
- Andriod自定义View二:canvas.drawText参数的介绍以及绘制一个文本居中的案例
- Viewpager里添加Fragment,Fragment里面添加一个Viewpager
- 有这样一个需求,一个SlidingPaneLayout里面包裹了一个ViewGroup而他可以被多个Fragment添加
- view 设置一个空心圆进度条+文本居中
- css基础 设置div标签 宽度 边框线颜色样式 div中文本居中 div块在网页中居中 div中内容距边框线的距离
- 利用RecycleView实现类似ListView的Item点击,长按等操作事件以及点击后每一项在添加一个列表