第二章实例:动态生成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;
        }

    }

}

相关图片:

时间: 2024-10-03 04:59:45

第二章实例:动态生成View控件例子---小球跟随手指滑动的相关文章

动态生成PictureBox控件,涉及:PictureBox控件和flowLayoutPanel面板

一.概述 flowLayoutPanel面板是一系列控件的容器,有关详细的使用方法留待以后总结. 二.问题提出 问题提出:点击按钮,扫描指定文件夹并将其中的所有图片放在flowLayoutPanel面板内.换句话说,就是在flowLayoutPanel面板内动态生成N个PictureBox控件. 此外,还有一个要求,N是变化的,有时显示5个图片,有时显示20个图片.这就要求动态生成新的控件之前先销毁已经存在的控件. 三.销毁代码 销毁控件代码: box[v].Dispose(); box[v]

通过JavaScript动态生成html控件

示例代码 <html> <head> <meta http-equiv="Content-Type" content="text/html"; charset="utf-8" /> <title>动态生成控件</title> <script> var i=1; function add() { var top = document.getElementById("t

form中动态生成Radiobutton控件

public partial class GetLabelFields : Form { int tableCount; public GetLabelFields(AxMapControl axmapcontrol ) { InitializeComponent(); if(axmapcontrol.LayerCount<=0) { MessageBox.Show("无图层,请加载图层"); return; } ILayer pLayer = axmapcontrol.get_

easyui表单多重验证,动态设置easyui控件

要实现的功能:在做添加学生信息的时候,利用easyui的验证功能判断 学号是否重复和学号只能为数字 最终效果如下图: 但在做这个的过程中,遇到了一系列的问题: 扩展validatebox的验证方法,最开始的验证代码如下: 1 //学号格式只能为数字 ****//这里没有问题**** 2 number: {//value值为文本框中的值 3 validator: function (value) { 4 var reg = /^[0-9]*$/; 5 return reg.test(value);

IOS中Table View控件练习

之前两篇博客简单学习了Picker view控件的使用,接下来再学习IOS应用中很重要的一个视图--表视图. 在表视图中,每个表视图都是UITableView的一个实例,每个可见行都是UITableViewCell的一个实例. 表视图有两种基本格式,分组的表和普通表,普通表可以实现索引,实现了索引的表成为索引表.(PS.技术上,分组表也可以实现索引,不过好像苹果的设计规范中不支持) 一个简单的表视图应用 界面设计: 向storyboard中拖一个table view控件,他会自动占满屏幕,至于约

C# 委托实例(跨窗体操作控件)

原文地址 http://blog.csdn.net/bdstjk/article/details/7004035 FORM1(一个名为“打开form2”的button控件) FORM2(一个名为“改变form1颜色“的button控件) 启动时,FORM1中点击button控件“打开form2””使FORM2显示出来. 点击FORM2中的“改变form1颜色”后,Form1中颜色改变. 完整代码 1 using System; 2 using System.Collections.Generic

动态加入子控件

我想实现:点击button,动态生成 之前在xml里已经定义好的layout. 自己定义的已经定义好的xml文件: rizhi_pinglun.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pingl

Android动态布局,并动态为TextView控件设置drawableLeft、drawableRight等属性添加图标

注:(图中每一个条目和图标都是由代码动态生成) 代码动态布局,并需要为每一个条目设置图标,此时用到了 android:drawableLeft="@drawable/icon"  父xml文件: [html] view plaincopyprint? <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.andr

WinForm用户控件、动态创建添加控件、timer控件--2016年12月12日

好文要顶 关注我 收藏该文 徐淳 关注 - 1 粉丝 - 3 0 0 用户控件: 通过布局将多个控件整合为一个控件,根据自己的需要进行修改,可对用户控件内的所有控件及控件属性进行修改使用 动态创建添加控件: 1 //定义控件类型 2 Button btn = new Button(); 3 //控件名称……等属性,也可以直接绑定各种事件 4 btn.Name = "mybutton" + i.ToString(); 5 //添加到窗体 this 可以替换为 容器控件 6 this.Co