亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

自己早期(android1.1)做的一個繪圖練習

系統 1810 0
僅僅是個練習而已!只做了第一個菜單的事件。其他都沒事件。

自己早期(android1.1)做的一個繪圖練習

自己早期(android1.1)做的一個繪圖練習

自己早期(android1.1)做的一個繪圖練習

自己早期(android1.1)做的一個繪圖練習

自己早期(android1.1)做的一個繪圖練習

代碼片段
    
public mPayCanvas(Context context) {
			super(context);
			 //獲得屏幕寬高
	        WindowManager windowManager = getWindowManager();
	        Display display = windowManager.getDefaultDisplay();
	        width = display.getWidth();
	        height = display.getHeight();
	        Log.i("TAG", "screenWidth="+width);//320
	        Log.i("TAG", "screenHeight="+height);//480
			width=320;
			height=430;
			// TODO Auto-generated constructor stub
			text=new String[10];
			paint=new Paint[10];
			rect=new RectF[10];
			col=3;//菜單列數
			state=ST_Instruction;
			setST(state);
			setFocusable(true); // 如果要響應按鍵,必須加上這句
			clearFocus();//必須加,以防第一次按鍵時無效。
//			setClickable(true);
			setFocusableInTouchMode(true);
//			setPressed(true);
			setLongClickable(false);
			setTitleColor(0xffff0000);

		}



private void draw_Menu(Canvas canvas){
//			canvas.drawText("菜單", (getWidth()-(int)paint[0].measureText(text[0]))>>1, getHeight()>>1, paint[0]);
			for(int i=0;i<drawable.length;i++){
				drawable[i].draw(canvas);
				canvas.drawText(menu_item[i], drawable[i].getBounds().left, drawable[i].getBounds().bottom+paint[2].getTextSize(), paint[2]);
			}
			RectF rect_menu = new RectF(drawable[index].getBounds().left, drawable[index].getBounds().top, drawable[index].getBounds().right, drawable[index].getBounds().bottom+paint[2].getTextSize()+5);
			canvas.drawRect(rect_menu, paint[3]);
			
			drawButton(canvas,true,true);
    	}
    	private void touchEvent_Menu(MotionEvent event){
    		float x=event.getX();
			float y=event.getY();
			
			if(x>rect[0].left&&x<rect[0].right&&y>rect[0].top&&y<rect[0].bottom){
				switch (index) {
				case 0:
					setST(ST_InputNumber);
					
					break;
				case 1:
				case 2:
				case 3:
					Log.i("TAG", "index====="+index);
				break;

				default:
					break;
				}
				
				return;
			}else if(x>rect[1].left&&x<rect[1].right&&y>rect[1].top&&y<rect[1].bottom){
				setST(ST_Exit);
				return;
			}
			
			int xx=drawable[0].getBounds().left;
			int yy=drawable[0].getBounds().top;
			int w=drawable[0].getIntrinsicWidth();//32
			int h=drawable[0].getIntrinsicHeight()+(int)paint[2].getTextSize();//48+
			int gapX=xx;
			int gapY=this.gapY-(int)paint[2].getTextSize();
//			Log.i("TAG", "w=="+w);
//	    	Log.i("TAG", "h=="+h);
//	    	Log.i("gapX", "gapX=="+gapX);
//	    	Log.i("gapY", "gapY=="+gapY);
	    	
			int indexX=0;
			int indexY=0;
			for(int i=0;i<drawable.length;i++){
				indexX=i%col;
		    	indexY=i/col;
			    if (x >= xx+indexX*gapX + indexX * w && x < xx+indexX*gapX + (indexX + 1) * w && y >= yy+indexY*gapY + indexY * h && y < yy+indexY*gapY + (indexY + 1) * h) {
			    	this.index=i;
			    	this.indexX=indexX;
			    	this.indexY=indexY;
//			    	Log.i("TAG", "index=="+index);
//			    	Log.i("TAG", "indexX=="+indexX);
//			    	Log.i("TAG", "indexY=="+indexY);
//			    	Log.i("TAG", "==============================================");
			    	keyDown_Menu(KeyEvent.KEYCODE_DPAD_CENTER,null);
			    	break;
			    }
			}
    	}

private void drawButton(Canvas canvas,boolean hasLeft,boolean hasRight){
    		if(hasLeft){
    			canvas.drawText(text[8], rect[0].left+2, rect[0].bottom-5, paint[0]);
//    			canvas.drawText(text[8], x+5, height-5, paint[0]);
//    			rect[0] = new RectF(2, getHeight()-paint[0].getTextSize()-2-5, 2+paint[0].measureText(text[8])+5, getHeight()-2);
    			canvas.drawRect(rect[0], paint[3]);
    		}
    		if(hasRight){
    			canvas.drawText(text[9], rect[1].left+2, rect[1].bottom-5, paint[0]);
//    			canvas.drawText(text[9], width-paint[0].measureText(text[9])-2, height-5, paint[0]);
//    			rect[1] = new RectF(getWidth()-paint[0].measureText(text[9])-5, getHeight()-paint[0].getTextSize()-2-5, getWidth()-2, getHeight()-2);
    			canvas.drawRect(rect[1], paint[3]);
    			
    		}
    	}
    	private void drawGrid(Canvas canvas){
    		String[][] pad={{"1","2","3"},{"4","5","6"},{"7","8","9"},{"退格","0","全清"}};
    		RectF rect=null;
    		int col=pad[0].length;
    		int row=pad.length;
    		int w=80;
    		int h=60;
    		int x=((width-col*w)>>1);
    		int y=(height>>1)-h*2;
    		for(int i=0;i<row;i++){
    			for(int j=0;j<col;j++){
	    			rect = new RectF(x+j*w,y+i*h,x+j*w+w,y+h+i*h);
	    			canvas.drawRect(rect, paint[3]);
	    			canvas.drawText(pad[i][j], rect.left+((int)(w-paint[0].measureText(pad[i][j]))>>1),rect.top+(h>>1)+5, paint[0]);
    			}
    		}
    	}

  

自己早期(android1.1)做的一個繪圖練習


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 操久在线| 亚洲精品乱码久久久久久蜜桃 | 色综合久久婷婷天天 | 久久久久青草线蕉亚洲麻豆 | 在线观看人成网站深夜免费 | 特大毛片 | 91国内精品久久久久怡红院 | 精品亚洲视频在线 | 一级毛片免费视频观看 | 97影院官网 | 亚洲精品久久久久综合91 | 久久视精品 | 一级寡妇乱色毛片全18 | 国产啪爱视频精品免视 | 国产综合精品久久亚洲 | 国产91精品久久久久久 | 免费黄视频网站 | 天天视频黄 | 四虎影视永久地址www成人污 | 亚洲图片在线观看 | 国产在线伊人 | 尹人香蕉网在线观看视频 | 永久免费观看黄网站 | 毛片大全在线观看 | 国产精品柳州莫菁身材四 | 免费成人一级片 | 九色综合久久综合欧美97 | 久久国产欧美日韩精品免费 | 狠狠综合久久久久综合小说网 | 成人短视频在线观看 | 国产欧美日韩在线观看 | 亚洲综合性图 | 日韩欧美一区二区精品久久 | 日本不卡高清中文字幕免费 | 欧美在线一区二区三区精品 | 欧美成人看片 | 国内精品久久久久久久影视麻豆 | 99热成人精品免费久久 | 99热久久这里只精品 | 欧美特级黄色大片 | 天天射天天爽 |