Android 自己定义View须要重写ondraw()等方法
2024-09-06 04:00:55
Android 自己定义View须要重写ondraw()等方法。这篇博客给大家说说自己定义View的写法,须要我们继承View,然后重写一些
方法,方法多多,看你须要什么方法
首先写一个自己定义的View 继承View
package com.example.engineerjspview;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.MotionEvent;
/**
* 自己定义 EngineerJspView
* @author Engineer-Jsp
* @date 2014.10.28
* */
import android.view.View;
public class EngineerJspView extends View{
public float E_X = 188;
public float E_Y = 188;
Paint paint = new Paint(); public EngineerJspView(Context context) {
super(context);
}
public EngineerJspView(Context context, AttributeSet set){
super(context, set);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
paint.setColor(Color.RED);
canvas.drawCircle(E_X, E_Y, 88, paint);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
E_X = event.getX();
E_X = event.getY();
invalidate();
return false;
}
@Override
protected void onAnimationStart() {
super.onAnimationStart();
}
@Override
protected void onAnimationEnd() {
super.onAnimationEnd();
} }
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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.example.engineerjspview.EngineerJspView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" /> </RelativeLayout>
主活动:
package com.example.engineerjspview;
/**
* 自己定义 EngineerJspView
* @author Engineer-Jsp
* @date 2014.10.28
* */
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
} }
效果:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvanNwcGluZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
自己定义View看你需求而定,并不仅仅是绘图形而已。我这里仅仅是说明下自己定义View须要重写的方法~~
最新文章
- Linux kernel 文件夹说明
- android sdk manager国内无法更新的解决办法
- bzoj 1208 splay模板题2
- ActiveMQ 即时通讯服务——浅析
- C#:如何解决WebBrowser.DocumentCompleted事件的多次调用
- spring Aop的一个demo
- windows phone 生产二维码和解码本地二维码图片
- Opencv 简单的图片显示
- JavaScript DOM省市自适配select菜单
- PHP中try{}catch{}的具体用法详解
- AtCoder Regular Contest 069 D
- Spring的IOC注解开发入门2
- opencv: 基本知识(二);
- (转)/etc/init.d/functions详解
- “数学口袋精灵”App的第三个Sprint计划----开发日记
- Xamarin Mono Android实现“再按一次退出程序”
- 你不知道的JavaScript(下卷) (Kyle Simpson 著)
- maven jstl、jsp、servlet依赖
- [转帖]ssd固态硬盘的Trim命令是什么?
- Informatica 常用组件Lookup缓存之五 使用动态查找高速缓存