Hi,titan:
To the best of my knowledge, there are two ways to implement customized view.
The first is using "WindowManager.LayoutParams"
Ex as below,
WindowManager.LayoutParams lp;
//allen add view begin
LayoutInflater inflate = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
floatview = (RelativeLayout) inflate.inflate(R.layout.mapfloatview, null);
mWindowManager = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
lp = new WindowManager.LayoutParams(
320, 40,
-160,-180,
WindowManager.LayoutParams.TYPE_APPLICATION,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
//WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
PixelFormat.TRANSLUCENT);
//allen add view end
mWindowManager.addView(floatview, lp);
And the second is to define your customized view's class, see below:
drawView dv;
dv = new drawView(this);
//try to canvas, not used now
public class drawView extends View{
private Bitmap bmp;
private int x, y;
public drawView(Context context){
super(context);
setFocusable(true);
bmp = BitmapFactory.decodeResource(getResources(), R.drawable.b1);
x = 0;
y = 0;
}
@Override
public void onDraw(Canvas canvas){
super.onDraw(canvas);
Paint paint = new Paint();
/*switch(posState){
case PosState.LEFT_TOP:{
if(leftTopState == LEFT_TOP_STATE_ONE){
Log.i(TAG,"leftTopState == LEFT_TOP_STATE_ONE");
canvas.drawBitmap(bmp, 0, 0, paint);
}
else if(leftTopState == LEFT_TOP_STATE_TWO){
Log.i(TAG,"leftTopState == LEFT_TOP_STATE_TWO");
canvas.drawBitmap(bmp, 0, 189, paint);
}
break;
}
}*/
//Here you may draw anything
canvas.drawBitmap(bmp, x, y, paint);
}
}
//Add view
layout.addView(dv);
BR,
Allen
分享到:
相关推荐
在自定义View中添加动画效果,可以使用ViewPropertyAnimator、ValueAnimator或者自定义View的invalidate()方法来实现。ViewPropertyAnimator提供了一种简洁的方式来改变View的属性,而ValueAnimator可以控制属性随...
2. **绘制逻辑**:重写`onDraw()`方法,这是自定义View中进行实际绘制的地方。但流式布局主要关注布局,因此`onDraw()`在这可能相对简单,主要绘制边框或背景等。 3. **测量逻辑**:重写`onMeasure()`方法。这个...
Android中自定义View的实现方式总结大全 Android中自定义View的实现方式可以分为四个大类:自绘控件、继承ViewGroup派生的特殊Layout、继承特定的View、继承特定的ViewGroup。 1. 自绘控件:继承View,重写onDraw...
2. **绘图基础**:`Canvas`和`Paint`对象在自定义View中起到核心作用。`Canvas`提供了绘图操作接口,如绘制线条、形状、文本和位图,而`Paint`则控制颜色、样式、字体等绘图属性。熟悉`Matrix`变换和`Shader`着色器...
5. 动态布局:在自定义View中动态添加或移除子View,以实现可变布局。 6. 触摸事件处理:通过MotionEvent监听用户的触摸行为,处理滑动、拖拽等操作。 7. 数据绑定:使用DataBinding库将数据与View绑定,减少代码量...
来自:http://blog.csdn.net/Android_Tutor/archive/2010/04/18/5499731.aspx 测试:Android 中自定义View的应用,在main.xml中嵌入自己写的view
在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建具有独特功能和视觉效果的组件。Drawable在Android中是图形和背景资源的一种表现形式,它广泛用于按钮、列表项、自定义视图等。本篇将...
在Android应用开发中,自定义View视图是一个重要的技术,它允许开发者根据特定需求创建独一无二的用户界面元素。本文将深入探讨如何通过继承View类来实现一个自定义的罗盘界面,以帮助开发者理解自定义视图的工作...
在我们从Android小学生 进阶到 Android中学生的路上,肯定需要经历 自定义View。 大神已经给出了,最精简的Demo,我这里 顺水推舟,把一些基础知识 标记在代码之中,各位可以一边看源码 一边学基础。 觉得文章有用,...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据需求创建独特的用户界面元素,以实现更加丰富和个性化的交互体验。本实例主要讲解如何在Android中自定义View,并提供了一个可作为参考的demo。 首先...
在Android中,自定义 View 是一种非常重要的技术,可以满足开发者的个性化需求。通过继承 View 类,并重写构造函数和 onDraw() 函数,可以实现自定义的 View。onDraw 函数是 View 的一个关键函数,在界面刷新时会被...
本教程将深入探讨Android自定义View的源码实现过程,旨在帮助开发者理解和掌握这一核心技能。 首先,了解自定义View的基本步骤: 1. **定义View类**:创建一个新的Java类,继承自`android.view.View`或其子类,如`...
仿真书籍翻页效果BookPageView简介:实现了仿真翻页效果,教程完整地描述了翻页原理...实现了覆盖翻页效果,同时教程中也讲述了页面内容的封装过程教程博客:Android自定义View——从零开始实现覆盖翻页效果效果展示:
在Android开发中,自定义View和自定义Button是提升应用界面独特性和交互体验的重要手段。本Demo主要展示了如何通过自定义View和自定义Button来实现特定的视觉效果和交互功能,比如Button在被点击时变换背景。下面...
总的来说,这个项目涵盖了Android自定义View的基本流程,以及图形绘制、颜色处理、动态更新等核心知识点,是学习Android自定义组件的一个良好实践。通过学习和研究,开发者不仅可以掌握自定义View的开发技巧,还能...
在Android开发中,自定义View是一项重要的技能,它允许开发者创造出独特且富有表现力的UI元素,提升用户体验。本文将深度剖析如何实现一个名为“水晶/水滴 波浪球”的自定义View,并通过详细步骤讲解,帮助你掌握...
在自定义View中,我们需要重写`init()`方法,以在View初始化时读取这些属性: ```java @Override protected void onInitialize.AttributeSet(@NonNull AttributeSet attrs) { super.onInitialize.AttributeSet...
本文将深入探讨如何创建一个Android音频剪辑裁剪的自定义View,以便用户可以通过拖动来调整音频的剪切时长,并通过滑块实时显示对应的时间点。 首先,我们需要理解Android的音频处理基础。Android提供了`...
在Android开发中,自定义View和自定义属性是提升应用个性化和功能扩展性的重要手段。本文将深入探讨这两个核心概念,以及如何在实际项目中应用它们。 ### 自定义View 自定义View允许开发者创建自己的视图组件,以...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据需求创建独特的用户界面元素,提升应用的用户体验。本文将深入探讨如何在Android中自定义View,并详细讲解如何绘制点、线、矩形和圆形。 首先,理解...