Tôi có nhiều drawables và muốn kết hợp nó với một drawable (ví dụ, 4 hình vuông để tạo ra một hình vuông lớn, như logo Windows :)). Tôi có thể làm cái này như thế nào?Kết hợp nhiều drawables
Trả lời
Bạn có thể làm điều đó bằng cách sử dụng TableLayout
hoặc một số LinearLayout
s. Tuy nhiên, nếu những gì bạn muốn là tạo một hình ảnh duy nhất cho chúng tôi trong một số ImageView
, bạn sẽ phải tạo một thủ công Bitmap
; nó không phải là khó:
Bitmap square1 = BitmapFactory.decodeResource(getResources(), R.drawable.square1);
Bitmap square2 = BitmapFactory.decodeResource(getResources(), R.drawable.square2);
Bitmap square3 = BitmapFactory.decodeResource(getResources(), R.drawable.square3);
Bitmap square4 = BitmapFactory.decodeResource(getResources(), R.drawable.square4);
Bitmap big = Bitmap.createBitmap(square1.getWidth() * 2, square1.getHeight() * 2, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(big);
canvas.drawBitmap(square1, 0, 0, null);
canvas.drawBitmap(square2, square1.getWidth(), 0, null);
canvas.drawBitmap(square3, 0, square1.getHeight(), null);
canvas.drawBitmap(square4, square1.getWidth(), square1.getHeight(), null);
Tôi chưa biên dịch mã ở trên; Tôi chỉ cho bạn thấy làm thế nào nó có thể được thực hiện. Tôi cũng giả định rằng bạn có hình vuông có thể vẽ được với cùng kích thước. Lưu ý rằng bitmap có tên là big
có thể được sử dụng ở bất cứ đâu bạn muốn (ví dụ: ImageView.setImageBitmap()
).
Cảm ơn bạn, và làm cách nào để tạo hình vẽ với canvas này? – arts777
Bạn có ý nghĩa gì bởi drawable? Một thể hiện lớp 'Drawable'? Nếu có, bạn có thể sử dụng 'BitmapDrawable'. Hãy cố gắng cụ thể hơn. – Cristian
Tôi xin lỗi, tất nhiên là lớp học Drawable. 4 đầu vào Trường hợp có thể vẽ và một đầu ra. – arts777
Bạn có thể sử dụng LayerDrawable để thực hiện chính xác việc này.
- 1. Kết hợp nhiều chuỗi C#
- 2. Android AnalogClock: thiết lập drawables lập trình
- 3. Sự kiện kết hợp nhiều phím Qt
- 4. Kết hợp nhiều bộ hàng trong SPARQL
- 5. Kết hợp nhiều thay thế regex
- 6. Kết hợp nhiều tiểu bang trong StateT
- 7. kết hợp: tránh nhiều lồng nhau foreach
- 8. Kết hợp nhiều thuộc tính trong C#
- 9. Kết hợp hai (hoặc nhiều) PDF
- 10. Kết hợp/chuỗi nhiều đối tượng jQuery
- 11. Kết hợp nhiều bộ chọn giả
- 12. PostgreSQL: cách kết hợp nhiều hàng?
- 13. Kết hợp nhiều kho SVN vào một
- 14. Kết hợp nhiều dòng vào một dòng
- 15. Kết hợp nhiều tệp .woff vào một
- 16. Java: Kết hợp nhiều biến vị ngữ
- 17. Gerrit: kết hợp nhiều cam kết thành một "thay đổi"
- 18. Cách tốt nhất để tạo drawables cho dpi khác nhau
- 19. Cách kết hợp hai hoặc nhiều tệp gzip/luồng
- 20. Cần kết hợp nhiều tệp trong một thư mục
- 21. Kết hợp nhiều biến số twig trong một khung
- 22. Thực hiện kết hợp nhiều lệnh linux trong một dòng
- 23. Sự kết hợp của nhiều vectơ trong R
- 24. Hibernate: hợp nhất với nhiều kết quả trong StackOverflowError
- 25. Kết hợp nhiều mục tiêu Maven trong một đơn
- 26. Boost C++ regex - cách nhận nhiều kết quả phù hợp
- 27. Kết hợp một thay đổi thành nhiều chi nhánh
- 28. Nhiều, điều kiện kết hợp OR trong ORMLite
- 29. Có thể kết hợp nhiều thuộc tính trong F # không?
- 30. Kết hợp và Nén nhiều tệp JavaScript trong php
Dưới đây là Hướng dẫn của nhà phát triển về [Tài nguyên có thể vẽ] (http://developer.android.com/guide/topics/resources/drawable-resource.html). Nó thảo luận về điều này là rất chi tiết với hình ảnh và mã runnable. – Sam