第二章实例:动态生成View控件例子---小球跟随手指滑动
package mydefault.packge; import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.ToggleButton; public class MainActivity extends Activity{ @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//布局管理器
LinearLayout layout = new LinearLayout(MainActivity.this); TextView tv = new TextView(MainActivity.this);
tv.setText("这是代码生成的TextView");
Button button = new Button(MainActivity.this);
ToggleButton tbtn = new ToggleButton(MainActivity.this);
///////////////////////////////////////////////
//设置标题方法
button.setText("动态生成的按钮");
//设置布局方法
button.setLayoutParams(new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT));
//设置背景
button.setBackgroundColor(Color.CYAN);
//------------
tbtn.setTextOff("关机");
layout.addView(tbtn);
layout.addView(tv);
layout.addView(button); //layout.addView(new myView(MainActivity.this));
this.setContentView(layout); }
public class myView extends View implements OnTouchListener{
private float x;
private float y;
private Paint panter;
public myView(Context context) {
super(context);
x = 0;
y = 0;
panter = new Paint();
this.setOnTouchListener(this);
}
/////////////////////////////
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
panter.setColor(Color.RED);
canvas.drawCircle(x, y, 45, panter); }
/*
@Override
public boolean onTouchEvent(MotionEvent event) {
x = event.getX();
y = event.getY();
invalidate(); return super.onTouchEvent(event);
}*/
@Override
public boolean onTouch(View arg0, MotionEvent event) {
x = event.getX();
y = event.getY(); invalidate(); return true;
} } }
相关图片:

第二章实例:动态生成View控件例子---小球跟随手指滑动的更多相关文章
- 动态生成PictureBox控件,涉及:PictureBox控件和flowLayoutPanel面板
一.概述 flowLayoutPanel面板是一系列控件的容器,有关详细的使用方法留待以后总结. 二.问题提出 问题提出:点击按钮,扫描指定文件夹并将其中的所有图片放在flowLayoutPanel面 ...
- 通过JavaScript动态生成html控件
示例代码 <html> <head> <meta http-equiv="Content-Type" content="text/html& ...
- (转) android里,addContentView()动态增加view控件,并实现控件的顶部,中间,底部布局
http://blog.csdn.net/bfboys/article/details/52563089
- form中动态生成Radiobutton控件
public partial class GetLabelFields : Form { int tableCount; public GetLabelFields(AxMapControl axma ...
- easyui表单多重验证,动态设置easyui控件
要实现的功能:在做添加学生信息的时候,利用easyui的验证功能判断 学号是否重复和学号只能为数字 最终效果如下图: 但在做这个的过程中,遇到了一系列的问题: 扩展validatebox的验证方法,最 ...
- Android 通过Java代码生成创建界面。动态生成View,动态设置View属性。addRules详解
废话不多说,本文将会层层深入给大家讲解如何动态的生成一个完整的界面. 本文内容: Java代码中动态生成View Java代码中动态设置View的位置,以及其他的属性 LayoutParams详解 一 ...
- 袁创:使用反射动态调用ActiveX控件
■■■■前言 目前的基于.NET平台的软件研发中仍然存在大量的对COM及ActiveX控件的调用.使用C#调用ActiveX控件时一般是使用vs.net工具自动生成的互操作性程序集.这种方法操作简单, ...
- 使用反射动态调用ActiveX控件
使用反射动态调用ActiveX控件 袁永福 2018-3-2 ■■■■问题描述: 目前的基于.NET平台的软件研发中仍然存在大量的对COM及ActiveX控件的调用.使用C#调用ActiveX控件时一 ...
- WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日
好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修 ...
随机推荐
- MySql命令——表相关
auto_increment //自动增长 primary key(id) //指定主键 select last_insert_id();//获得添加列的主键值 create table produc ...
- HTML5-常见的事件- contextmenu 事件
主要控制应该何时显示上下文菜单,以便开发人员取消默认的上下文菜单而提供自定义的菜单 <1> 由于该事件是冒泡的,因此可以为document 指定一个事件处理程序,用以处理页面中发生的所有此 ...
- Oracle - 使用序列+触发器实现主键自增长
Oracle中的自增,不如Sql server那般方便. --.创建序列 CREATE SEQUENCE "TABLE_NAME"."SQ_NAME" MINV ...
- C++实现二叉树的基本操作
#include <iostream> #include <stack> #include <queue> using std::cin; using std::c ...
- mysql事件调度器
#查看mysql事件调度器是否开启 SHOW VARIABLES WHERE Variable_name = 'event_scheduler'; #开启mysql事件调度器功能 SET GLOBAL ...
- UITableView总忘记的
因为总是忘记所以记一下 1.scrollToRowAtIndexPath QQ会话中总是希望添加一行就向上滚动总是显示最新的消息 NSIndexPath *lastIndexPath = [NSInd ...
- 关于UIWebview的属性的介绍
/* ViewController.h 文件 */ #import <UIKit/UIKit.h> @interface ViewController : ...
- js渲染的3d玫瑰
参看下面链接: 程序员最美情人节礼物:JS渲染的3D玫瑰
- 两个string数组对应比较
最近做的array string类型对比.这个可能比较复杂,用的是linq 是请教别人的,我在这里记录一下 jquery 方法里面的数组 function arrtxt() { var arrt= [ ...
- Joomla 二次开发 学习笔记
Joomla目录结构 /administrator 管理后台的路径 /cache 是缓存目录 /components 是组件(component)目录 /includes 是一个重要的目录,里面都是J ...