編輯:關於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來更新界面。
1.Binder1)IBinder和Binder?IBinder是遠程對象的基本接口,是為了高性能而設計的輕量級遠程調用機制的核心部分。但他不僅用於遠程調用,也用於進程內
簡介通過android studio生成so庫的實踐。上一篇記錄的是通過eclipse生成so的方法eclipse生成so庫實踐,這裡記錄一下通過android stud
ListView是Android開發中比較常用的一個組件,它以列表的形式展示信息,並能根據信息的長度自適應顯示。比如說我們手機裡的通訊錄就用到了ListView顯示聯系人
大家好,我是M1ko。在互聯網時代的今天,如果一個App不接入互聯網,那麼這個App一定不會有長時間的生命周期,因此Android網絡編程是每一個Android開發者必備