文档章节

用自定TextView画个尺子

火文乐武
 火文乐武
发布于 2016/05/24 22:59
字数 340
阅读 15
收藏 0

实现结果

 

步骤:

1、自定义类继承TextView,重写Ondraw()方法

2、主方法不做更改

3、布局文件添加tv。条目为自定义类的路径

代码如下:

自定义类:

public class Ruler extends TextView {

	public Ruler(Context context) {
		super(context);
		init();
	}

	public Ruler(Context context, AttributeSet attrs) {
		super(context, attrs);
		init();
	}

	public Ruler(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
		init();
	}

	//	初始化,设置控件的位置
	private void init() {
		setGravity(Gravity.BOTTOM);
	}

	/**
	 * 实现该方法,“画出”自己想实现的画, 该方法无须手动调用,系统绘制该控件时,会自行调用该方法
	 * 
	 * @Override
	 */
	protected void onDraw(Canvas canvas) {
		super.onDraw(canvas);

		Paint paint = new Paint();

		paint.setColor(Color.WHITE);

		int w = getWidth() / 10;

		float top = 1;

		for (int i = 0; i < 10; i++) {
			canvas.drawRect(i * w, top, i * w + w, top * w, paint);
		}

		canvas.drawText("hehe", 20, 20, paint);
	}
}

 

2、主方法

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

3、布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <com.days27selfview03.Ruler
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:background="#00ccff"
        android:text="@string/btnText" />

    <com.days27selfview03.Ruler
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:background="#ff00cc"
        android:text="@string/btnText" />

    <com.days27selfview03.Ruler
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:background="#00ffcc"
        android:text="@string/btnText" />

    <com.days27selfview03.Ruler
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:background="#ffccff"
        android:text="@string/btnText" />

</LinearLayout>

 

© 著作权归作者所有

共有 人打赏支持
火文乐武
粉丝 7
博文 38
码字总数 17183
作品 0
郑州
Android工程师
私信 提问
如何将监听器里的计算的值 传递给Textview

Android我做了个尺子,现在我想将尺子滑动的距离A 传递给 Textview,以此来时时显示距离A的改变。但是这个距离A 是在我自定义的监听器里计算得到的,所以是在匿名内部类里,请问如何将 距离A...

ksharpdabu
2015/04/26
415
1
零基础使用cocos2dx-lua和skynet全栈式开发网游三(客户端配置)

客户端配置 一、扯几个概念 问题:cocos2dx引擎到底如何运作的? 在解答这个问题前,需要了解几个概念。 1.颜色 在自然界中,存在一种场,叫电磁场。电荷粒子运动状态变化时,就会释放电磁波...

量子出击
2018/06/21
0
0
Android TabHost的标签放在底部,已写成框架,继承即可

网上已经有很多关于如何将TabHost的标签放在底部,这里就不说了 主要是把这些都做成框架,只需要提供图片和文字就可以实现这样的效果。 直接上图,代码解释的很清楚 程序的图片借用新浪微博....

长平狐
2012/08/21
2.6K
1
带你实现漂亮的滑动卷尺

HenCoder最近在搞一个仿写活动,活动地址 http://hencoder.com/activity-mock-1/,之前关注过他写的关于绘制系列的文章,今天就拿这个来练练手,我选择模仿的是薄荷健康的滑动卷尺效果。 薄荷...

Jdqm
2017/10/19
0
0
一个可以滑动选择的尺子view,可以选择体重身高等信息

一个可以滑动选择的尺子view,可以选择体重身高等信息 安度博客 » 安度博客2017-10-235 阅读 view选择滑动 描述: 一个可以滑动选择的尺子view,可以选择体重身高等信息 应用截图: 使用说明...

安度博客 » 安度博客
2017/10/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于C++ 容器的swap操作

一、swap操作交换两个相同类型的容器的内容,一般的容器(除array外),交换两个容器内容的操作会保证非常快,因为并没有交换元素本身,而只是交换了两个容器的内部数据结构。 拿vector做个例...

shzwork
29分钟前
1
0
程序员从宏观、微观角度浅析JVM虚拟机!

1.问题 1、JAVA文本文件如何被翻译成CLASS二进制文件? 2、如何理解CLASS文件的组成结构? 3、虚拟机如何加载使用类文件的生命周期? 4、虚拟机系列诊断工具如何使用? 5、虚拟机内存淘汰机制?...

我最喜欢三大框架
30分钟前
2
0
Choerodon猪齿鱼实践之应用生命周期管理

Choerodon平台中的开发和部署都是围绕应用来进行的,那Choerodon平台中的应用有什么样的特性?又是怎样来进行管理的呢?本文旨在深入地介绍Choerodon平台中应用的功能特性及其生命周期的管理...

Choerodon
50分钟前
0
0
Websocket之Jmeter压力测试

最近使用到Websocket进行聊天功能开发,用Jmeter进行压力测试,记录下。 使用的Jmeter版本5.1.1,自行从apache jmeter官网下载。 首先要添加Websocket的插件,网上有很多,我从百度网盘下载的...

克虏伯
51分钟前
2
0
作为Java程序员这些技术都不会,拿什么去涨薪跳槽?

引言 当下,正面临着近几年来的最严重的互联网寒冬,听得最多的一句话便是:相见于江湖~,缩减HC、裁员不绝于耳,大家都是人心惶惶,年前如此,年后想必肯定又是一场更为惨烈的江湖厮杀。但博...

别打我会飞
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部