自定义View小练习
来源:互联网 发布:创维50寸4k网络电视 编辑:程序博客网 时间:2024/05/21 11:02
自定义View控件,该控件为随着手指移动的小球。View实际上是一个透明的矩形区域。
DrawOwnView.java
import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.view.View;public class DrawOwnView extends View{ //继承Viewpublic float currentX = 40; //定义小球初始坐标public float currentY = 50;public DrawOwnView(Context context) //重写构造函数{super(context);}protected void onDraw(Canvas canvas) //重写onDraw函数{super.onDraw(canvas);Paint p = new Paint(); //定义一个画笔p.setColor(Color.RED);canvas.drawCircle(currentX, currentY, 15, p); //画圆}}
</pre> DrawView.java <pre name="code" class="java">package com.example.drawview;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.widget.LinearLayout;public class DrawView extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_draw_view); LinearLayout root = (LinearLayout)this.findViewById(R.id.root); //取得布局文件中LinearLayout布局管理器 final DrawOwnView draw = new DrawOwnView(this); //实例化自定义的控件 draw.setMinimumWidth(300); //设置自定义控件的大小 draw.setMinimumHeight(500); draw.setOnTouchListener(new OnTouchListener() { //绑定触摸监听事件类,采用匿名内部类方式重写onTouch函数@Overridepublic boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stubdraw.currentX = event.getX();draw.currentY = event.getY();draw.invalidate(); //重绘小球return true;}}); root.addView(draw); //控件添加到布局文件中 } }activity_draw_view.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/root" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"></LinearLayout>
显示效果如图:
0 0
- 自定义View小练习
- 自定义View练习
- 自定义View练习
- 自定义View练习
- 自定义View练习
- 自定义View练习
- 自定义View练习一
- 自定义view-canvas练习
- 自定义View练习1
- 自定义View练习2
- 小白自定义View
- 自定义View小示例(自定义View三)
- android自定义View练习之波浪View
- 自定义View简单小例子
- 自定义View之小细节
- 自定义View的小陷阱
- Android 自定义View练习之水波纹
- 自定义 view 练习(2):卫星式菜单
- android 2.3 & 4.2 Audio静音过程分析
- Linux内核调试:vmdumper <world-id> nmi,死循环调试
- 发的患过伤风的故事发生的
- 【设计模式篇】Android设计模式之-策略模式 自我见解
- 计算机基础知识的学习与巩固
- 自定义View小练习
- POJ 2528 解题报告
- 苏州安仁信息科技有限公司
- 十、多线程
- 国务院再取消67项职业资格许可和认定事项
- ifeng code relax jquery main page phone Version2
- 同事写的当webview里有视频时 横屏观看后状态栏异常的处理方法
- web制作、开发人员需知的Web缓存知识
- WPF轮播图——DependencyProperty