2011-09-29 6 views
5

Tôi có một ứng dụng hiển thị chế độ xem máy ảnh trên màn hình trên FrameLayout. Màn hình ở chế độ LandScape cố định.Làm thế nào để di chuyển một TextView động trên màn hình? (framelayout)

Tôi cần phải viết một textView với các tọa độ được xác định động của màn hình. Các tọa độ được xác định theo tỷ lệ phần trăm, ví dụ:

viết văn bản trên tọa độ x = 80% của màn hình & y = 20% màn hình. viết textview trên coorinates x = 35% của màn hình & y = 55% của màn hình.

cách thực hiện? tôi đã có tỷ lệ phần trăm, tôi chỉ cần biết làm thế nào để sử dụng chúng để viết TextView vào vị trí mong muốn của các ví dụ mã frameLayout

được hoan nghênh

tôi đã cố gắng với điều này nhưng không hoạt động, các TextView không di chuyển:

TextView poi..... etc etc 
poi.setLayoutParams(new LayoutParams((int)(w*(xCoordPercent/100)), h/2)); 

nhờ

+1

Tôi nghĩ rằng những gì bạn đang cố gắng làm là tạo hoạt ảnh cho một TextView. Nếu đúng như vậy, bạn nên xem hướng dẫn về nó, nó khá đơn giản đối với các chuyển động cơ bản như vậy và nó có thể cung cấp cho bạn ý tưởng trong khi bạn đang chờ đợi thêm câu trả lời ở đây. – Sephy

+0

không không, tôi không muốn tạo hiệu ứng động, tôi chỉ muốn di chuyển textivew trên màn hình, từ trái sang phải, từ trên xuống dưới, phụ thuộc vào tọa độ được tạo theo thực tế. Sau đó tôi sẽ sử dụng một hình ảnh, nhưng bây giờ tôi cần phải mote một textview – NullPointerException

Trả lời

3
MarginLayoutParams params=(MarginLayoutParams)poi.getLayoutParams(); 
params.leftMargin=80; 
//here 100 means 100px,not 80% of the width of the parent view 
//you may need a calculation to convert the percentage to pixels. 
params.topMargin=50; 
poi.setLayoutParams(params); 

Điều này có thể giúp đỡ.

+0

nó không hoạt động. POI vẫn được vẽ ở góc trên bên trái của màn hình. Tôi phải sơn lại cửa sổ hay gì đó? FrameLayout cũng có một cameraview trên nó. Chuyện gì thế? im bị kẹt – NullPointerException

+0

nó hoạt động nếu bạn đặt chế độ xem văn bản trên bố cục tương đối – NullPointerException