2012-02-29 28 views
5

Hãy cho tôi biết nếu tôi đang đi về điều này hoàn toàn sai, nhưng nếu tôi giải thích vấn đề tôi hy vọng ai đó có thể giúp tôi với nó, hoặc chỉ cho tôi đi đúng hướng.Làm thế nào để đặt kích thước của surfaceview tùy chỉnh

Tôi cần một chế độ xem tùy chỉnh có thể có chuyển động, tôi muốn đặt chế độ xem này trên một phần của relativeLayout của tôi trên một trong các hoạt động chính của tôi. Tôi đã làm theo hướng dẫn về chuyển động (liên kết bên dưới) đã tạo ra một updateThread và một lớp mở rộng SurfaceView. http://mobile.tutsplus.com/tutorials/android/android-sdk-achieving-movement/

Tác phẩm này và tôi có thể đưa nó vào ứng dụng của mình. Sự cố xảy ra khi tôi muốn đặt nội dung đó vào bố cục của mình trên một hoạt động khác. Tôi đã xoay sở để đưa khung cảnh vào, nhưng sau đó nó xuất hiện toàn màn hình, đằng sau các mục khác. Một phần của vấn đề của tôi là kích thước của điều này phụ thuộc vào kích thước của màn hình vv Relativelayout sử dụng rất nhiều hình ảnh, trong đó Android sẽ chọn đúng kích cỡ hình ảnh cần thiết. Đối với SurfaceView, làm cách nào để đặt kích thước phụ thuộc vào điện thoại?

Hiện tại, tôi có bố cục tương đối hiển thị chính xác với hình ảnh nơi chế độ xem tùy chỉnh cần phải đi. Các hình ảnh hiển thị kích thước chính xác và chỉ là phiên bản tĩnh của những gì tôi cần hiển thị. Bạn có biết cách tôi có thể di chuyển chế độ xem tùy chỉnh của mình vào không gian này không?

Nếu bạn cần bất kỳ mã nào, tôi có thể đăng mọi thứ lên, tôi thực sự đang đấu tranh với vấn đề này. Thậm chí nếu bạn chỉ có thể chỉ cho tôi đúng hướng, hoặc cho tôi biết nếu tôi không nên sử dụng chế độ xem bề mặt cho điều này? Quan điểm chỉ cần hiển thị một số hình ảnh trượt xuống màn hình, đó là tất cả (trong đó phần của bố cục chính)

nhiều nhiều nhiều cảm ơn trước

Trả lời

14

Để thiết lập kích thước của surfaceView sử dụng phương pháp này:

surfaceView.getHolder().setFixedSize(width, height) 
+0

Điều này không đặt kích thước của SurfaceView. setFixedSize (chiều rộng, chiều cao) chỉ tác động đến việc mở rộng các pixel được tạo ra từ SurfaceHolder như được giải thích tại đây https://android-developers.googleblog.com/2013/09/using-hardware-scaler-for-performance.html. Xem thêm câu trả lời của fadden trong http://stackoverflow.com/questions/38118219/what-is-the-use-of-calling-surfaceholder-setfixedsize – tomalf2