對(duì)象

import android.view.*;

import android.graphics.*;

public class 對(duì)象{

public String 類名="對(duì)象";

public String 名字="";

public 對(duì)象 父對(duì)象=null;

public 對(duì)象[] 內(nèi)部對(duì)象=null;

public int x=0,y=0,寬=0,高=0;

public int XWindex=0;

public boolean 按下=false,移動(dòng)=false;

public String 狀態(tài)="";

public boolean 顯示=true,內(nèi)部對(duì)象顯示=true;

public boolean 事件=true,內(nèi)部對(duì)象事件=true;

public 對(duì)象(int x,int y,int 寬,int 高){

this.x=x;

this.y=y;

this.寬=寬;

this.高=高;

}

public 對(duì)象(){}

public void 顯示(Canvas c){

if(顯示){

行為(c);

功能(c);

if(內(nèi)部對(duì)象顯示){

運(yùn)行內(nèi)部對(duì)象(c);

}

}

}

public void 事件(MotionEvent e){

if(事件){

行為(e);

功能(e);

if(內(nèi)部對(duì)象事件){

運(yùn)行內(nèi)部對(duì)象(e);

}

if(e.getAction()==MotionEvent.ACTION_UP){

按下=false;

移動(dòng)=false;

}

}

}

public void 行為(Canvas c){}

public void 行為(MotionEvent e){}

//向?qū)ο髢?nèi)部組裝對(duì)象

public void 裝入對(duì)象(對(duì)象 dx){

dx.父對(duì)象=this;

this.內(nèi)部對(duì)象=合并(this.內(nèi)部對(duì)象,dx);

}

//實(shí)現(xiàn)所有內(nèi)部對(duì)象的顯示行為

public void 運(yùn)行內(nèi)部對(duì)象(Canvas c){

int i=0;

if(內(nèi)部對(duì)象!=null){

while(i<內(nèi)部對(duì)象.length){

內(nèi)部對(duì)象[i].顯示(c);

i++;

}

}

}

//實(shí)現(xiàn)所有內(nèi)部對(duì)象的事件行為

public void 運(yùn)行內(nèi)部對(duì)象(MotionEvent e){

int i=0;

if(內(nèi)部對(duì)象!=null){

while(i<內(nèi)部對(duì)象.length){

內(nèi)部對(duì)象[i].事件(e);

i++;

}

}

}

public void 功能(Canvas c){}

public void 功能(MotionEvent e){}

public boolean 物理按鍵(int key,KeyEvent event){

按鍵行為(key,event);

int i=0;

if(內(nèi)部對(duì)象!=null){

while(i<內(nèi)部對(duì)象.length){

內(nèi)部對(duì)象[i].物理按鍵(key,event);

i++;

}

}

return true;

}

private void 按鍵行為(int key,KeyEvent event){

if(key==KeyEvent.KEYCODE_BACK)按鍵返回();

}

public void 清空某類(String 類名){

對(duì)象[] dx=null;

int i=0;

while(i<內(nèi)部對(duì)象.length){

if(!內(nèi)部對(duì)象[i].類名.equals(類名)){

dx=合并(dx,內(nèi)部對(duì)象[i]);

}else 內(nèi)部對(duì)象[i]=null;

i++;

}

內(nèi)部對(duì)象=dx;

}

public int 查詢某對(duì)象對(duì)位置(String 名字){

int i=0;

if(內(nèi)部對(duì)象!=null){

while(i<內(nèi)部對(duì)象.length){

if(內(nèi)部對(duì)象[i].equals(名字)){

break;

}

i++;

}

}

return i;

}

public void 清除某對(duì)象(String 名字){

if(內(nèi)部對(duì)象!=null){

對(duì)象[] dx=null;

int i=0;

while(i<內(nèi)部對(duì)象.length){

if(!內(nèi)部對(duì)象[i].名字.equals(名字)){

dx=合并.合并(dx,內(nèi)部對(duì)象[i]);

}else 內(nèi)部對(duì)象[i]=null;

i++;

}

內(nèi)部對(duì)象=dx;

}

}

public static 對(duì)象[] 合并(對(duì)象[] a,對(duì)象 b){

對(duì)象[] jieguo=null;

if(a!=null)jieguo=new 對(duì)象[a.length+1];

else jieguo=new 對(duì)象[1];

if(a!=null){

int i=0;

while(i

if(i

else jieguo[i]=b;

i++;

}

}else jieguo[0]=b;

return jieguo;

}

public void 按鍵返回(){}

}

這是非常重要的一個(gè)類,是整個(gè)框架實(shí)現(xiàn)的基礎(chǔ),雖然代碼不多,卻包含整個(gè)思想,以后大部分的UI對(duì)象都將繼承至這個(gè)類。

下面對(duì)所有變量和方法進(jìn)行詳細(xì)介紹:

String 類名="對(duì)象";

這個(gè)變量用于標(biāo)識(shí)類別,繼承至這個(gè)類后的新的類別重寫這個(gè)變量標(biāo)識(shí)所屬類。當(dāng)程序里要對(duì)單獨(dú)某類處理時(shí)這個(gè)變量很有用處。

String 名字="";

這個(gè)變量用于標(biāo)識(shí)具體某個(gè)對(duì)象,當(dāng)我們?cè)谝欢褜?duì)象集合里可以通過名字很好的找到對(duì)象,并對(duì)它進(jìn)行操作。

對(duì)象 父對(duì)象=null;

此變量在當(dāng)前對(duì)象被另一個(gè)對(duì)象所裝入時(shí)獲得另一個(gè)對(duì)象的實(shí)例。

對(duì)象[] 內(nèi)部對(duì)象=null;

每當(dāng)有別的對(duì)象裝入這個(gè)對(duì)象時(shí),這個(gè)變量用于存放裝入的對(duì)象,裝入的所有對(duì)象的事件()和顯示()這兩個(gè)方法都會(huì)被本對(duì)象實(shí)現(xiàn),無論對(duì)象和對(duì)象之間嵌套多少層。

int x=0,y=0,寬=0,高=0;

這4個(gè)變量用于描述對(duì)象在屏幕坐標(biāo)上的位置和自身所占的范圍,如果你要寫一個(gè)繼承至對(duì)象的按鍵,這4個(gè)變量就很重要了。

下面開始介紹方法:

顯示(Canvas c);

由于窗體類(View)實(shí)現(xiàn)了內(nèi)部變量環(huán)境(對(duì)象)的顯示方法,所以所有對(duì)象無論怎么裝,只要最終被窗體所裝入,他們的顯示方法都將被實(shí)現(xiàn)。此方法用于繪制當(dāng)前類和所有內(nèi)部對(duì)象。

事件(MotionEvent e);

同上,不同的是,這是一個(gè)獲得觸屏行為和坐標(biāo)的。

運(yùn)行內(nèi)部對(duì)象(Canvas c);

運(yùn)行內(nèi)部對(duì)象(MotionEvent e);

用于實(shí)現(xiàn)所有內(nèi)部對(duì)象的顯示和事件,由于所裝入的對(duì)象也是對(duì)象它們也會(huì)自動(dòng)實(shí)現(xiàn)自己內(nèi)部對(duì)象的所有顯示和行為,而它們的所有內(nèi)部對(duì)象的每個(gè)對(duì)象又會(huì)從復(fù)這兩個(gè)方法,所以無論一個(gè)對(duì)象系統(tǒng)有多復(fù)雜它的每部分都將被實(shí)現(xiàn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容