Android 通過onDraw實(shí)現(xiàn)在View中繪圖操作的示例
更新時(shí)間:2013年07月29日 10:15:33 作者:
以下是對Android通過onDraw實(shí)現(xiàn)在View中繪圖操作的示例代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
Android繪圖操作,通過繼承View實(shí)現(xiàn),在onDraw函數(shù)中實(shí)現(xiàn)繪圖。
下面是一個(gè)簡單的例子:
public class AndroidTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView mv = new MyView(this);
setContentView(mv);
}
public class MyView extends View {
MyView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
// 首先定義一個(gè)paint
Paint paint = new Paint();
// 繪制矩形區(qū)域-實(shí)心矩形
// 設(shè)置顏色
paint.setColor(Color.BLUE);
// 設(shè)置樣式-填充
paint.setStyle(Style.FILL);
// 繪制一個(gè)矩形
canvas.drawRect(new Rect(0, 0, getWidth(), getHeight()), paint);
// 繪空心矩形
// 設(shè)置顏色
paint.setColor(Color.RED);
// 設(shè)置樣式-空心矩形
paint.setStyle(Style.STROKE);
// 繪制一個(gè)矩形
canvas.drawRect(new Rect(10, 10, 100, 30), paint);
// 繪文字
// 設(shè)置顏色
paint.setColor(Color.GREEN);
// 繪文字
canvas.drawText("Hello", 10, 50, paint);
// 繪圖
// 從資源文件中生成位圖
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
// 繪圖
canvas.drawBitmap(bitmap, 10, 60, paint);
}
}
}
下面是一個(gè)簡單的例子:
復(fù)制代碼 代碼如下:
public class AndroidTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyView mv = new MyView(this);
setContentView(mv);
}
public class MyView extends View {
MyView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
// 首先定義一個(gè)paint
Paint paint = new Paint();
// 繪制矩形區(qū)域-實(shí)心矩形
// 設(shè)置顏色
paint.setColor(Color.BLUE);
// 設(shè)置樣式-填充
paint.setStyle(Style.FILL);
// 繪制一個(gè)矩形
canvas.drawRect(new Rect(0, 0, getWidth(), getHeight()), paint);
// 繪空心矩形
// 設(shè)置顏色
paint.setColor(Color.RED);
// 設(shè)置樣式-空心矩形
paint.setStyle(Style.STROKE);
// 繪制一個(gè)矩形
canvas.drawRect(new Rect(10, 10, 100, 30), paint);
// 繪文字
// 設(shè)置顏色
paint.setColor(Color.GREEN);
// 繪文字
canvas.drawText("Hello", 10, 50, paint);
// 繪圖
// 從資源文件中生成位圖
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
// 繪圖
canvas.drawBitmap(bitmap, 10, 60, paint);
}
}
}
相關(guān)文章
Android中的Dalvik和ART詳解及區(qū)別分析
小編通過這篇文章給大家整理了什么是Dalvik和ART,并進(jìn)行了區(qū)別的分析,下面一起來看看。2016-07-07Android自定義View實(shí)現(xiàn)可以拖拽的GridView
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)可以拖拽的GridView,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06Android之有效防止按鈕多次重復(fù)點(diǎn)擊的方法(必看篇)
下面小編就為大家?guī)硪黄狝ndroid之有效防止按鈕多次重復(fù)點(diǎn)擊的方法(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04AndroidStudio 使用過程中出現(xiàn)的異常(Gradle sync failed)處理辦法
本文主要介紹AndroidStudio 使用過程中出現(xiàn)的異常的解決辦法,這里幫大家舉例說明,如何處理出現(xiàn)這種問題,有需要的小伙伴可以參考下2016-09-09Android實(shí)現(xiàn)滑動(dòng)加載數(shù)據(jù)的方法
這篇文章主要介紹了Android實(shí)現(xiàn)滑動(dòng)加載數(shù)據(jù)的方法,實(shí)例分析了Android通過滑動(dòng)實(shí)現(xiàn)動(dòng)態(tài)加載數(shù)據(jù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07Android保存的文件顯示到文件管理的最近文件和下載列表中的方法
這篇記錄的是Android中如何把我們往存儲中寫入的文件,如何顯示到文件管理的下載列表、最近文件列表中,需要的朋友可以參考下2020-01-01Android基于ViewPager+Fragment實(shí)現(xiàn)左右滑屏效果的方法
這篇文章主要介紹了Android基于ViewPager+Fragment實(shí)現(xiàn)左右滑屏效果的方法,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)滑屏效果的布局與滑動(dòng)功能相關(guān)操作技巧,需要的朋友可以參考下2017-07-07