ฉันทำงานกับ Android Animation
และฉันพบว่าระบบพิกัด Android ค่อนข้างสับสนดังนั้นฉันจึงมาที่นี่เพื่อถามคำถามเกี่ยวกับวิธีการทำงานของพิกัดใน Android ฉันกำลังติดตามภาพนี้เพื่อเลื่อนมุมมองหนึ่งไปยังอีกมุมมองหนึ่ง แต่ดูเหมือนว่ามันไม่ทำงาน:
ฉันทำงานกับ Android Animation
และฉันพบว่าระบบพิกัด Android ค่อนข้างสับสนดังนั้นฉันจึงมาที่นี่เพื่อถามคำถามเกี่ยวกับวิธีการทำงานของพิกัดใน Android ฉันกำลังติดตามภาพนี้เพื่อเลื่อนมุมมองหนึ่งไปยังอีกมุมมองหนึ่ง แต่ดูเหมือนว่ามันไม่ทำงาน:
คำตอบ:
ภาพนี้แสดงการวางแนวทั้งสอง (แนวนอน / แนวตั้ง)
หากต้องการรับ MaxX และ MaxY ให้อ่านต่อ
สำหรับพิกัดหน้าจออุปกรณ์ Android แนวคิดด้านล่างจะทำงาน
Display mdisp = getWindowManager().getDefaultDisplay();
Point mdispSize = new Point();
mdisp.getSize(mdispSize);
int maxX = mdispSize.x;
int maxY = mdispSize.y;
แก้ไข: - ** ** สำหรับอุปกรณ์ที่รองรับ Android API ระดับเก่ากว่า 13 สามารถใช้รหัสด้านล่าง
Display mdisp = getWindowManager().getDefaultDisplay();
int maxX= mdisp.getWidth();
int maxY= mdisp.getHeight();
(x, y): -
1) (0,0)เป็นมุมบนซ้าย
2) (maxX, 0)เป็นมุมบนขวา
3) (0, maxY)คือมุมซ้ายล่าง
4) (maxX, maxY)อยู่มุมล่างขวา
นี่ maxX และ maxY เป็นความสูงและความกว้างสูงสุดของหน้าจอเป็นพิกเซลซึ่งเราได้รับรหัสข้างต้นที่ได้รับ
สำหรับ Android API ระดับ 13 และคุณต้องใช้สิ่งนี้:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int maxX = size.x;
int maxY = size.y;
จากนั้น (0,0) เป็นมุมบนซ้ายและ (maxX, maxY) เป็นมุมล่างขวาของหน้าจอ
'getWidth ()' สำหรับขนาดหน้าจอเลิกใช้แล้วตั้งแต่ API 13
นอกจากgetwidth ()และgetHeight ()เป็นวิธีการของandroid.view.View ชั้นใน android.So เมื่อเรียน Java ของคุณขยายดูชั้นไม่มีค่าโสหุ้ย WindowManager
int maxX=getwidht();
int maxY=getHeight();
ง่ายเหมือนที่
View
พร้อมกับlayout_width="1" layout_height="1"
มันหมายความว่าด้านบนซ้ายคือ (0,0) และด้านล่างขวาคือ (1, 1)? นั่นหมายความว่าView
width = 2 และ height = 2 หรือไม่ ความขัดแย้ง.