首页 > 代码库 > Android 自定义View需要重写ondraw()等方法
Android 自定义View需要重写ondraw()等方法
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); } }
效果:
自定义View看你需求而定,并不只是画图形而已,我这里只是说明下自定义View需要重写的方法~~
Android 自定义View需要重写ondraw()等方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。