Android自定义View
来源:互联网 发布:名片制作软件 绿色版 编辑:程序博客网 时间:2024/04/30 17:01
参考:http://blog.csdn.net/guolin_blog/article/details/17357967
分类:自绘控件,组合控件,继承控件
- 自绘控件
自绘控件是在View上所展示的内容全部都是我们自己画出来的,绘画的代码在onDraw()方法中。
public class CustomView extends View implements View.OnClickListener { private Paint mPaint; private Rect mBounds; private int mCount = 0; public CustomView(Context context, AttributeSet attrs) { super(context, attrs); mPaint = new Paint(Paint.ANTI_ALIAS_FLAG); mBounds = new Rect(); setOnClickListener(this); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); mPaint.setColor(Color.BLUE); canvas.drawRect(0, 0, getWidth(), getHeight(), mPaint); mPaint.setColor(Color.YELLOW); mPaint.setTextSize(30); String text = String.valueOf(mCount); mPaint.getTextBounds(text, 0, text.length(), mBounds); float textWidth = mBounds.width(); float textHeight = mBounds.height(); canvas.drawText(text, getWidth() / 2 - textWidth / 2, getHeight() / 2 + textHeight / 2, mPaint); } @Override public void onClick(View v) { mCount++; invalidate();//重绘 }}
2.组合控件
组合控件就是将系统的控件组合在一起,创建出来的控件称为组合空间。
public class TitleView extends FrameLayout { private Button leftButton; private TextView titleText; public TitleView(Context context, AttributeSet attrs) { super(context, attrs); LayoutInflater.from(context).inflate(R.layout.title, this); titleText = (TextView) findViewById(R.id.title_text); leftButton = (Button) findViewById(R.id.button_left); leftButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ((Activity) getContext()).finish(); } }); } public void setTitleText(String text) { titleText.setText(text); } public void setLeftButtonText(String text) { leftButton.setText(text); } public void setLeftButtonListener(OnClickListener l) { leftButton.setOnClickListener(l); } }
3.继承控件
demo下载地址
0 0
- Android View---自定义View
- Android View---自定义View
- Android 自定义View 之 自定义View属性
- 【自定义View系列】android自定义View概述
- Android自定义view自定义属性
- Android自定义控件 -- 自定义View
- android自定义view(自定义数字键盘)
- Android自定义View-自定义属性
- Android自定义View-自定义属性
- Android 自定义View
- Android 自定义 View
- android自定义View
- Android 中自定义 view
- android 自定义view组件
- Android 自定义 View
- android 自定义view
- Android:如何自定义View
- android 自定义View
- Error:java.lang.RuntimeException: Some file crunching failed, see logs for detail
- 第八周项目5—计数的模式匹配
- 熟悉gmapping
- tomcat jetty 启动脚本
- codeblocks中出现undefined reference to `gluOrtho2D@32的错误提示
- Android自定义View
- STL学习--stack
- 微信小程序开发者工具0.10.101100版本
- [leetcode]121. Best Time to Buy and Sell Stock
- ListView中getView的原理+如何在ListView中放置多个item
- 大数运算
- Windows防火墙限制端口/IP/应用访问的方法以及例外的配置
- 微软公司内部培训程序员资料---操作矩阵类
- Android获取屏幕宽度的4种方法