时间:2021-05-20
本文实例为大家分享了Android实现跟随手指画圆的具体代码,供大家参考,具体内容如下
首先自己定义一个View子类:
package com.example.androidtest0.myView;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.View;public class DrawView extends View { public float currentX = 40; public float currentY = 50; //定义、并创建画笔 Paint p = new Paint(); public DrawView(Context context) { super(context); } public DrawView(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //设置画笔的颜色 p.setColor(Color.RED); //绘制一个小球 canvas.drawCircle(currentX, currentY, 15, p); } /** * 为该组件的触碰事件重写事件处理方法 */ @Override public boolean onTouchEvent(MotionEvent event) { //改动currentX、currentY两个属性 currentX = event.getX(); currentY = event.getY(); //通知当前组件重绘自己 invalidate(); return true; } }主界面XML:
custom_layout.xml
主activity:
package com.example.androidtest0;import com.example.androidtest0.myView.DrawView;import android.app.Activity;import android.os.Bundle;import android.widget.LinearLayout;public class CustomView extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.custom_layout); //获取布局文件里LinearLayout容器 LinearLayout root = (LinearLayout)findViewById(R.id.root); //创建DrawView组件 final DrawView drawView = new DrawView(this); //设置自己定义组件的最小宽度、高度 drawView.setMinimumWidth(10); drawView.setMinimumHeight(10); root.addView(drawView); }}效果:
除此之外:
还能够用XML的方式:也是首先建一个View的子类。和上面一样。
然后主界面XML例如以下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/root" android:orientation="vertical" > <com.example.androidtest0.myView.DrawView android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout>主activity文件例如以下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了Android自定义View实现跟随手指移动的小兔子,供大家参考,具体内容如下自定义的View实现跟随手指的小兔子按前面的例子新创建一个pr
本文实例为大家分享了Android自定义View画圆的具体代码,供大家参考,具体内容如下引入布局自定义View的java类,继承ViewpublicclassV
Android自定义组件成JAR包的实现方法,这里对自己实现的AndroidView组件进行JAR包的处理。在项目开发过程中,我们难免会用到自己去制作自定义的V
两种方式实现类似水波扩散效果,先上图为敬自定义view实现动画实现自定义view实现思路分析:通过canvas画圆,每次改变圆半径和透明度,当半径达到一定程度,
前言:前面几篇讲了自定义控件绘制原理Android自定义控件基本原理详解(一),Android自定义控件之自定义属性(二),Android自定义控件之自定义组合