2014-03-29 44 views
0

我創建一個遊戲有七個按鈕 enter image description here這是檢查android中不同設備尺寸點擊的正確方法嗎?

這是一個示例圖像假設藍色方塊是任何位置的按鈕主屏幕。形成一個圖形軟件,我知道左上角和右下角的座標。我得到用戶喜歡這個接觸點的座標,並顯示出成功舉杯

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    int x = (int) event.getX(); 
    int y = (int) event.getY(); 
    Height_Ratio = height/Background_Height; 
    Width_Ratio = width/Background_Width; 
    Play_Button_Left_Ratio = Play_Button_Left*Width_Ratio; 
    Play_Button_Right_Ratio = Play_Button_Right*Width_Ratio; 
    Play_Button_Top_Ratio = Play_Button_Top*Height_Ratio; 
    Play_Button_Bottom_Ratio = Play_Button_Bottom*Height_Ratio; 
    switch (event.getAction()) { 
    case MotionEvent.ACTION_DOWN: 
     if(x > Play_Button_Left_Ratio && x < Play_Button_Right_Ratio && y > Play_Button_Top_Ratio && y < Play_Button_Bottom_Ratio) 
      Toast.makeText(this, "Success!", Toast.LENGTH_SHORT).show(); 

的高度和寬度設備使用

DisplayMetrics displaymetrics = new DisplayMetrics(); 
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
    height = displaymetrics.heightPixels; 
    width = displaymetrics.widthPixels; 

我必須做的七個按鈕在那裏得到任何更有效的方式。以上代碼獲取屏幕高度給出實際像素或密度獨立像素?

回答

0

爲什麼不在按鈕上使用OnClickListener?

+0

他們不是按鈕他們就像上面的藍色框圖像。它們只會起到屁股的作用附件。 – user3404195

+0

@ user3404195你可以在ImageView上添加一個OnClickListener,如果這是一個圖像視圖...或者它是什麼樣的視圖? –

0

變化

int x = (int) event.getX(); 
    int y = (int) event.getY(); 

int tx = (int) event.getX(); 
    int ty = (int) event.getY(); 

避免混淆變量

在你的觸摸

if(tx>image.x&&tx<image.x+image.width&&ty>image.y&&ty<image.y+image.height){ 
//image clicked do something 
} 
相關問題