最近在家无事,开始学习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是Android开发中常见的需求,它允许开发者扩展Android系统的内置视图,以满足特定的界面设计或交互需求。创建自定义View通常包括以下步骤: - 创建一个新的Java类,继承自`View`或`ViewGroup`。 - 重写...
本项目旨在教你如何在Android项目中创建一个自定义View,用于实现高斯模糊和毛玻璃效果,并且允许开发者自定义模糊程度。以下是关于这个主题的详细讲解。 一、高斯模糊原理 高斯模糊是一种图像处理技术,通过对图像...
本文将深入探讨如何创建一个Android音频剪辑裁剪的自定义View,以便用户可以通过拖动来调整音频的剪切时长,并通过滑块实时显示对应的时间点。 首先,我们需要理解Android的音频处理基础。Android提供了`...
此外,自定义View时还要注意布局、尺寸计算以及多分辨率适配等问题。 在提供的`CustomView`文件中,可能包含了示例代码,通过阅读和分析这些代码,你可以更深入地了解上述知识点的实际应用。在实践中不断尝试和学习...
### Android自定义View从入门到高级 在Android开发过程中,自定义View是非常重要的一项技能,它可以帮助开发者实现更加丰富的UI效果以及更为灵活的功能定制。本文将深入探讨Android自定义View的相关知识,包括基本...
在Android开发中,创建一个能够随声音大小变化的自定义View是一种常见的需求,尤其是在音乐播放器或者音频相关的应用中。这个自定义View可以是长方形或圆柱形,旨在模仿音频波形或音量指示器的效果。下面我们将深入...
在Android开发中,自定义View是一种常见的需求,它允许开发者扩展Android SDK提供的默认视图功能,以满足特定的用户界面需求。自定义属性是自定义View的重要组成部分,它能让开发者更灵活地配置和控制自定义组件的...
8. **性能优化**:自定义View时要注意性能问题,避免在`onDraw()`中执行耗时操作。可以使用硬件加速、减少不必要的重绘,以及优化`onMeasure()`的计算效率。 在`CustomViewDemo`这个示例中,开发者Airsaid可能展示...
10. **内存管理**:自定义View也要注意内存的合理使用,避免内存泄漏,确保应用的稳定性和流畅性。 通过以上知识点的学习和实践,开发者可以创建出具有丰富功能和独特视觉效果的自定义View,从而提升Android应用的...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建具有独特功能和视觉效果的组件。本项目“通用柱形图自定义view”聚焦于如何自定义一个适用于多种场景的柱状图视图,使得数据可视化更加...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据需求创建独特的用户界面元素,以实现更加丰富和个性化的视觉效果。"自定义View_灵动的锦鲤"这个项目可能是一个示例,展示了如何利用Android SDK来...
在Android开发中,自定义View是一项常见的需求,它允许开发者根据特定的设计要求或者功能扩展来创建独特的用户界面组件。本文将深入探讨如何实现一个自定义的View,使其能够精确地绘制水平和垂直居中的文本,效果...
在Android开发中,自定义View是一项重要的技能,它允许开发者创造出独特且富有创新性的用户界面。本主题聚焦于“自定义view—圆弧渐变旋转”,这是一个动态效果,即一个圆弧形的元素在围绕其圆心旋转的过程中,颜色...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建独特且富有表现力的用户界面。本篇文章将深入探讨如何实现一个环形带刻度的进度条,这个自定义View适用于各种需要展示进度的情况,比如...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据需求创建独特的用户界面元素,提升应用的用户体验和个性化程度。本篇文章将深入探讨如何在Android中实现一个自定义的NotePad视图,即模拟一个笔记本...
在Android开发中,自定义View是一项重要的技能,它允许开发者创造出独特且富有创意的用户界面。本主题聚焦于“Android自定义View,点赞效果”,这是一个常见的需求,特别是在社交应用或者互动性强的应用中,用户点赞...
8. **性能优化**:自定义View时,需要注意性能问题。比如避免在`onDraw()`中执行耗时的操作,使用硬件加速,合理使用内存,以及使用 Nine-Patch 图片等。 9. **使用属性动画库**:通过Android的属性动画库,可以...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建独特且功能丰富的用户界面。本教程将深入探讨如何实现一个自定义的音量调控View,以提供更直观、更个性化的音量控制体验。我们参考的...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据需求创建独特的视觉效果和交互体验。本案例中,我们关注的是一个特定的自定义View——一个混合模式的进度条。这种进度条的设计使得当进度条覆盖到...
在Android开发中,自定义View是一项重要的技能,它允许开发者创造出独特且富有视觉吸引力的界面元素。本资源“Android粒子效果之雨自定义View.rar”就是针对这一主题的一个实例,旨在教你如何创建一个动态的、模拟...