Android UI开发 View自绘控件 分享_Android

 很多时候想要设计漂亮的Android UI,使用Android自带的控件无法满足我们的需要就要考虑自绘控件,在Android界面显示类View,可以通过继承扩展重写相关方法来实现我们的图形绘制。

  首先我们需要了解下View类的底层实现,在SDK中我们可以看到View直接继承于Java的基类Object,实现了图形绘制和按键事件 Drawable.Callback KeyEvent.Callback的相关方法,我们自绘时主要实现其内部的onDraw方法,相关的界面计算可以重写onMeasure方法,对于相关的按键可以重载onKeyDown、onKeyUp以及onTouchEvent等,下面android开发网就以一个实例来表示。

复制代码 代码如下:

  public class cwjView extendsView

  {

  public cwjView(Context context)

  {

  this(context,null);

  }

  public cwjView(Context context,AttributeSet attrs)

  {

  this(context,attrs,0);

  }

public cwjView(Context context,AttributeSet attrs,int defStyle)

  {

  super(context,attrs,defStyle);

  //这里是本类的构造,相关初始化可以在这里添加代码

  }

  @Override

  protectd void onDraw(Canvas canvas)

  {

  super(canvas);

  //绘图的关键,可以看到已经包含了一个canvas句柄,可以直接通过我们前面讲到的Canvas类进行相关的操作,完整的例子,大家可以参考Android SDK中例子Snake贪食蛇游戏的实现。

  }

  }

  有关View类的更新,我们直接通过调用invalidate(int l,int r,int r,int b)来更新一个Rect矩形区域,或更新全部,同时在线程中我们使用需要调用postInvalidate来更新界面。

时间: 2024-09-19 00:23:37

Android UI开发 View自绘控件 分享_Android的相关文章

Android UI开发 View自绘控件 分享

很多时候想要设计漂亮的Android UI,使用Android自带的控件无法满足我们的需要就要考虑自绘控件,在Android界面显示类View,可以通过继承扩展重写相关方法来实现我们的图形绘制. 首先我们需要了解下View类的底层实现,在SDK中我们可以看到View直接继承于Java的基类Object,实现了图形绘制和按键事件 Drawable.Callback KeyEvent.Callback的相关方法,我们自绘时主要实现其内部的onDraw方法,相关的界面计算可以重写onMeasure方法

Android UI开发专题(四) View自绘控件

  很多时候想要设计漂亮的Android UI,使用Android自带的控件无法满足我们的需要就要考虑自绘控件,在Android界面显示类View,可以通过继承扩展重写相关方法来实现我们的图形绘制. 首先我们需要了解下View类的底层实现,在SDK中我们可以看到View直接继承于Java的基类Object,实现了图形绘制和按键事件Drawable.Callback KeyEvent.Callback的相关方法,我们自绘时主要实现其内部的onDraw方法,相关的界面计算可以重写onMeasure方

Android学习自定义View(四)——继承控件(滑动时ListView的Item出现删除按钮)

MainActivity如下: package cc.testviewstudy4; import java.util.ArrayList; import java.util.HashMap; import cc.testviewstudy4.ListViewSubClass.OnDeleteListener; import android.os.Bundle; import android.widget.SimpleAdapter; import android.app.Activity; /

android实现自动滚动的Gallary控件效果_Android

本文实例讲述了android实现自动滚动的Gallary控件.分享给大家供大家参考.具体如下: import java.util.Timer; import java.util.TimerTask; import android.content.Context; import android.os.Handler; import android.util.AttributeSet; import android.util.Log; import android.view.KeyEvent; im

Android UI设计之AlertDialog弹窗控件_Android

有关android的弹窗界面相信大家见过不少了,手机上很多应用软件都涉及到弹窗控件,比如典型的每次删除一个图片或者卸载一个等都会弹出一个窗口询问是否删除/卸载等,还有我们系统的设置时间/日期等,都用到了这样的控件,下面我将通过代码来总结下常用的几个弹窗控件 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:/

Android UI设计之AlertDialog弹窗控件

有关android的弹窗界面相信大家见过不少了,手机上很多应用软件都涉及到弹窗控件,比如典型的每次删除一个图片或者卸载一个等都会弹出一个窗口询问是否删除/卸载等,还有我们系统的设置时间/日期等,都用到了这样的控件,下面我将通过代码来总结下常用的几个弹窗控件 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:/

Android实现自定义轮播图片控件示例_Android

要完成一个轮播图片,首先想到的应该是使用ViewPager来实现.ViewPager已经有了滑动的功能,我们只要让它自己滚动.再加上下方的小圆点就行了.所以我们本次的自定义控件就是由ViewPager和LinearLayout叠加起来组成的. 直接先上效果图: 创建一个自定义的ViewPager 先上完整的代码 package com.kcode.autoscrollviewpager.view; import android.content.Context; import android.os

Android学习自定义View(三)——自绘控件和组合控件

MainActivity如下: package cc.testviewstudy3; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.app.Activity; /** * Demo描述: * 关于自定义View的学习(三) * * 自定义View的实现方式大概可以分为三种: * 自绘控件.组合控件.以及继承控件 * 在此Dem

Android开发中RecycleView + CardView 控件

先上效果图: 开发中RecycleView + CardView 控件-recycleview cardview"> 原理图: 这是RecycleView的工作原理:1.LayoutManager用来处理RecycleView的"列表"样式,Support包默认包含了:LinearLayoutManager  横向或纵向的滚动列表.GridLayoutManager  网格列表.StaggeredGridLayoutManager  交错的网格列表.2.Adapter负