最近在家无事,开始学习android。
自己做了一个自定义的View,布署到main.xml上去,却发现跑的时候老是出现错误。
后来发现,原来是集成View的时候没有写上父类3个参数的构造方法。
估计其内部默认情况下会调用那个构造方法吧。
贴上代码:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<com.ant.memory.PhotoView
android:id="@+id/photo" android:layout_width="fill_parent"
android:background="#0000ff"
android:layout_height="fill_parent" tileSize="24" />
</FrameLayout>
PhotoView:
public class PhotoView extends View {
/*
* 这个constructor是必须的要的,如果你想将这个View布署道main.xml上
*/
public PhotoView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void draw(Canvas canvas) {
// TODO Auto-generated method stub
super.draw(canvas);
InputStream is=getResources().openRawResource(R.drawable.back);
Bitmap bitmap=BitmapFactory.decodeStream(is);
Paint paint=new Paint();
canvas.drawBitmap(bitmap, 50, 50, paint);
}
}
Memory.java:
package com.ant.memory;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class Memory extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
PhotoView photoView;
setContentView(R.layout.main);
photoView=(PhotoView) findViewById(R.id.photo);
}
}
分享到:
相关推荐
一、自定义view需要继承View类 既然是自定义view所以为了方便需要继承View类,或者其他View类例如TextView等类 二、必须写入构造方法否则无法使用findViewbyId()方法找到控件 之定义View必须写入构造函数而且需要...
* 自定义View的分类 * 自定义View的注意事项 * 自定义View的实现 * 自定义View使其支持wrap_content和padding * 自定义属性的实现过程
这里有很多自定义view可以参考思路思路比较简单,整个view无非两样东西云雨滴这里又包含两部分动画,一部分是云的左右移动动画,一部分是雨滴移动动画 那我们这里可以自定义一些属性,如果对自定义属性还不太了解的...
背景:楼主本人的电脑在某一段时间使用过程中,只要一启动模拟器上我们的APP,电脑散热风扇的声音就加大,...这个自定义view在onDraw方法中,调用了一个很不起眼的方法:setLayoutParams. 将这个方法去掉之后,界面滑动
自己实现的一个抢红包demo,自定义view实现了移动、旋转、透明度3种渐变效果,设置活动时效为1分钟,会越来越快,我封装在一个redbag类,中具体代码自己看吧 [注意:本资源来自网络,如有侵权,请联系我删除,谢谢。...
本文实例讲述了Android开发之自定义View(视图)用法。分享给大家供大家参考,具体如下: ...为了实现自定义View,需要创建一个新的类,然后重写onDraw方法,在此需要注意,新创建的类MyView要继承View基类,同时还
android自定义view-劳力士手表。 [注意:本资源来自网络,如有侵权,请联系我删除,谢谢。]
概述:自定义view,实现稿纸功能,可撤消,可恢复,稿纸可设置大小和拖动,有做限制,防止内存不足的问题出现。 使用方法:将DraftView添加到布局中即可。 接口api: // 获取最大宽度 public int getDraftMaxWidth...
本篇文章讲的是Android自定义View之随机生成图片验证码,开发中我们会经常需要随机生成图片验证码,但是这个是其次,主要还是想总结一些自定义View的开发过程以及一些需要注意的地方。 按照惯例先看看效果图: 一...
主要介绍了Android实现在xml文件中引用自定义View的方法,结合实例形式分析了Android自定义view的实现方法与相关注意事项,需要的朋友可以参考下
Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到一些坑,我把自己遇到的一些问题和解决方法总结一下,希望对广大码友们有所帮助。 注意点① 用xml定义...
SmartLightView高仿米家的筒灯控制UI:一. 前言;兜兜转转,不知不觉做Android开发已经快2年了,上半年一直在搞wifi模块开发,导致不务正业...注意此要有自定义view的基本常识! Path mPathCircle = new Path(); //画圆
和往常一样,主要总结一下在自定义View的开发过程中需要注意的一些地方。 按照惯例,我们先来看看效果图 一、写代码之前,我们先弄清楚view的启动过程: 之所以想要弄清楚这个问题是因为代码里面用到了...
和往常一样,主要还是想总结一下自定义view之实现标尺控件的开发过程以及一些需要注意的地方。 按照惯例,我们先来看看效果图 一、先总结下自定义View的步骤: 1、自定义View的属性 2、在View的构造方法中...
先说明一下本自定义view的主要内容: 1.本效果的实现就是在光圈内六边形六个角上分别绘制六个光圈叶片 2.根据不同的光圈值计算出内六边形的大小,从而计算每个六边形的顶点的位置 3.设计叶片。也可以让美工MM提供...
Redmine View自定义插件 这个插件使您可以自定义的视图。 特征 ... 安装 将插件安装在Redmine插件目录中,将此存储view_customize为...注意:目录名称必须是view_customize 。 目录名称不同,它将无法运行插件。 用法 添加
(3)有一点需要注意的是,裁剪圆的时候用到的clipPath这个方法,在android 4.1,和4.2等某些系统上,裁剪出来不是圆,而是矩形,针对这些系统 需要在manifest.xml文件的activity中 将硬件加速关掉,因为默认是开启...
本项目实现自定义View部分来自自己实现,部分来自网上开源。 实现思路 心形动画 主要包括两部分,点赞动画和取消动画。对于点赞动画主要就是心形慢慢放大填满整个轮廓;对于取消动画主要分三个步骤:1)心中间出现...