Tôi muốn có thể thực hiện hoạt ảnh văn bản và thay đổi kích thước của văn bản trong một TextView. Tôi đọc rằng có hình ảnh động bất động sản trong android nhưng nếu ai đó biết một mã đơn giản có thể làm điều này cho tôi hoặc một ví dụ ở đâu đó, tôi sẽ đánh giá cao nó. Cảm ơn bạn trước!hoạt ảnh của kích thước văn bản của TextView
Trả lời
scale.xml
<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:fromXScale="1.0"
android:fromYScale="1.0"
android:toXScale="2.0"
android:toYScale="2.0"
android:duration="3000"></scale>
</set>
Một chức năng thành một Hoạt động:
private void RunAnimation()
{
Animation a = AnimationUtils.loadAnimation(this, R.anim.scale);
a.reset();
TextView tv = (TextView) findViewById(R.id.firstTextView);
tv.clearAnimation();
tv.startAnimation(a);
}
trích xuất và sửa đổi từ here
Làm thế nào về this link? Đặc biệt là các ví dụ quy mô. Nó cung cấp mã nguồn và video cho một số loại hình ảnh động Android khác nhau.
Cảm ơn bạn đã nhanh chóng esponse và liên kết. Tôi sẽ kiểm tra nó. – Sandra
Không dựa vào liên kết vì nó có thể bị hỏng trong tương lai. Thêm phần liên quan của liên kết vào câu trả lời. –
Animation animation=new TranslateAnimation(0,480,0,0);
animation.setDuration(5000);
animation.setRepeatMode(Animation.RESTART);
animation.setRepeatCount(Animation.INFINITE);
text.startAnimation(animation);
// applying animation to textview object..
Nếu bạn đang sử dụng sự kiện nút để hiển thị hình ảnh động sau đó đặt mã bên trong onClick() nếu không sử dụng phương pháp ghi đè lênWindowFocusChanged (Boolean hasFocus) để bắt đầu hoạt hình
Sử dụng ValueAnimator trong android
final float startSize = o; // Size in pixels
final float endSize = 30;
final int animationDuration = 1000; // Animation duration in ms
ValueAnimator animator = ValueAnimator.ofFloat(startSize, endSize);
animator.setDuration(animationDuration);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float animatedValue = (float) valueAnimator.getAnimatedValue();
tv.setTextSize(animatedValue);
}
});
animator.start();
tham khảo liên kết này ValueAnimator
Một giải pháp khác là áp dụng hình ảnh động quy mô trên TextView hoặc bố trí mẹ
ScaleAnimation scaleAnimation = new ScaleAnimation(0.7f, 1.1f, 0.7f, 1.1f, ScaleAnimation.RELATIVE_TO_SELF, 0.5f,
ScaleAnimation.RELATIVE_TO_SELF, 0.5f);
scaleAnimation.setDuration(600);
viewZoom.startAnimation(scaleAnimation);
Mã được sao chép từ [câu trả lời này] (http://stackoverflow.com/a/30324368/2025923) – Tushar
Hoạt động trơn tru ngay cả trên OnePlus3T ( –
[Hoạt ảnh của kích thước văn bản của TextView android chứ không phải toàn bộ TextView] (// stackoverflow.com/a/30324368) – Tushar