自定义View和自定义Button
来源:互联网 发布:办公软件相关书籍 编辑:程序博客网 时间:2024/05/20 19:48
自定义组件与自定义的View本是同一件事,必须要有构造方法。
xml代码:
<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"
tools:context=".MainActivity" >
<com.example.menudemo.MyButton
android:id="@+id/but"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name" />
<com.example.menudemo.MyBall
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/but" />
</RelativeLayout>
自定义Button
package com.example.menudemo;
import android.content.Context;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.Button;
public class MyButton extends Button {
public MyButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
// 可以在重写的方法中显示其他需要做的功能
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
Log.d("MyButton","You can do better!");
return false;
}
}
自定义View
package com.example.menudemo;
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 MyBall extends View {
private float currentX = 40;
private float currentY = 50;
public MyBall(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 创建画笔
Paint p = new Paint();
// 创建画笔的颜色
p.setColor(Color.RED);
// 绘制一个
canvas.drawCircle(currentX, currentY, 15, p);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
this.currentX = event.getX();
this.currentY = event.getY();
//通知重新绘制
this.invalidate();
return true;//自己就可以处理这个事情,不需要别人帮助
}
}
- 自定义View和自定义Button
- 自定义view,之自定义button
- 自定义view之----自定义button
- 自定义View button
- 自定义view继承Button
- 自定义样式View(二)--自定义Button
- 自定义view封装-用Button显示商品图片和名称
- 自定义View之继承原有View 例自定义Button
- 自定义view实现下载进度button
- 自定义View和控件
- 自定义View和ViewGroup
- 自定义View和ViewGroup
- android自定义exittext和button
- 自定义button
- 自定义BUTTON!
- 自定义button
- 自定义Button
- 自定义button
- 智能指针shared_ptr
- Serialization in PHP(序列化 in PHP)
- struts2.3.15之拦截器原理与实现
- sdjzu 1024
- ZOJ Problem Set - 1067
- 自定义View和自定义Button
- Ural 1558 - Periodical Numbers 写吐的水题...
- SGI STL序列式容器list中的sort算法
- la 3942 Rember_前缀树
- sdjzu 1028
- java反射详解
- 详解如何动态调用WebService传递复杂对象的实现
- POJ2996-棋盘模拟
- C4.5决策树+代码实践