Làm theo câu hỏi: Animate change of view background color on Android Tôi đang cố gắng tạo TextView mờ dần giữa hai hình nền qua tài nguyên TransitionDrawable. tập tin chuyển xml của tôi trông như thế này:TransitionDrawable làm nền trong TextView không hoạt động như mong đợi
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/gray_bar" />
<item android:drawable="@drawable/green_bar" />
</transition>
Và tôi cố gắng thiết lập nó như là nền tảng về thời gian chạy theo:
TextView answerBox = (TextView) findViewById(R.id.answerBox);
answerBox.setBackgroundResource(R.drawable.correct_transition);
TransitionDrawable transition = (TransitionDrawable) answerBox.getBackground();
transition.startTransition(1500);
Kết quả là các TextView biến từ này:
này:
Khi toàn bộ thanh màu xám sẽ được chuyển thành g reen một.
Cả hai đều là hình ảnh png 9 bản vá. Đây là những bản gốc:
tôi đoán là thanh màu xanh lá cây được lấp đầy khoảng trống cho văn bản bên trong thanh màu xám, nhưng tôi không biết tại sao. Bất kì manh mối nào? Một màu xám cũng xuất hiện lớn hơn nhiều so với nó nên, nhưng không thay đổi kích thước trước, trong hoặc sau khi chuyển đổi, mặc dù sự xuất hiện của hình ảnh bao gồm. Nó có thể là một vấn đề với các hình ảnh 9-vá gây ra tôi đã thử nghiệm hình ảnh bình thường và quá trình chuyển đổi hoạt động tuyệt vời.
Cảm ơn bạn đã trợ giúp!
Tôi có cùng một vấn đề chính xác ... bạn có quản lý để giải quyết vấn đề này theo bất kỳ cách nào không? – zwebie
hmmm, trong ví dụ của google, họ sử dụng setImageDrawable có thể setbackground không phải là hành vi mong đợi, nếu không, thì bạn có thể đặt một imageview làm "nền" (sử dụng bố cục tương đối đặt nó dưới dạng xem văn bản) và chỉ chạy chuyển đổi ? – MikeIsrael
Không, điều đó cũng không hoạt động. Tôi đã chuyển sang màu thay vì hình ảnh. Tôi đề nghị đó là một vấn đề 9-patch gây ra tôi thử nghiệm cùng một mã với hình ảnh bình thường và làm việc như mong đợi. Vì vậy, zwebie, nó làm việc với màu sắc thay vì hình ảnh 9-vá, và trong trường hợp của tôi nó hoạt động với hình ảnh bình thường (không 9-patch). – viridis