Android點贊動畫效果 ,點贊後加一,2種方法,①補間動畫②位移動畫
第一個動畫檔案btn_anim.xml
2-在res檔案夾 anim檔案夾下面,建立第二個檔案layout_anim.xml):
3主activity 我是在fragment中使用,你就隨意吧。
...private ScrollView scrollView; // This is my container. Yours may be differentprivate Animation btnAnim;private Animation layoutAnim;...@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Getting context context = getActivity().getApplicationContext(); btnAnim = AnimationUtils.loadAnimation(context, R.anim.btn_anim); btnAnim.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { layoutAnim = AnimationUtils.loadAnimation(context, R.anim.layout_anim); scrollView.startAnimation(layoutAnim); } @Override public void onAnimationRepeat(Animation animation) { } }); // create view View view = inflater.inflate(R.layout.fragment_browse_single, container, false); scrollView = (ScrollView) view.findViewById(R.id.scrollView); myButton = (Button) view.findViewById(R.id.myButton); myButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { btnZan.startAnimation(btnAnim); } }); Log.i(TAG, "View created"); return view; }
另一種demo做法。試用了線程。不推薦使用
public class applaudAnimation extends Activity implements OnClickListener { private Button button; private TextView textView; private android.view.animation.Animation animation; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.animation); animation = AnimationUtils.loadAnimation(this,R.anim.applaud_animation); button = (Button) findViewById(R.id.bt); button.setOnClickListener(this); textView = (TextView) findViewById(R.id.animation); } @Override public void onClick(View v) { if (v == button) { textView.setVisibility(View.VISIBLE); textView.startAnimation(animation); new Handler().postDelayed(new Runnable() { public void run() { textView.setVisibility(View.GONE); } }, 1000); } }} |
animation.xml
"1.0" encoding="utf-8"?>"http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff" > android:id="@+id/bt" android:layout_width="40dip" android:layout_height="wrap_content" android:layout_centerInParent="true" android:gravity="center" android:text="贊" android:textColor="#000000" android:textSize="18dip" /> android:id="@+id/animation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:gravity="center" android:text="+1" android:textColor="#FF0000" android:textSize="18dip" android:visibility="gone" /> |
"1.0" encoding="utf-8"?>"http://schemas.android.com/apk/res/android"> android:fromXDelta="0" android:toXDelta="0" android:fromYDelta="0" android:toYDelta="-50" android:duration="1000"/> android:fromAlpha="1.0" android:toAlpha="0.3" android:duration="1000"/> |