HomeItemContainer.java 2.06 KB
package com.xgimi.gimicinema.view;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.RelativeLayout;
import com.xgimi.gimicinema.R;

public class HomeItemContainer extends RelativeLayout {
     
    private Animation scaleSmallAnimation;
    private Animation scaleBigAnimation;
     
    public HomeItemContainer(Context context) {
        super(context);
    }
 
    public HomeItemContainer(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }
 
    public HomeItemContainer(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
     
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
    }
     
    @Override
    protected void onFocusChanged(boolean gainFocus, int direction, Rect previouslyFocusedRect) {
        super.onFocusChanged(gainFocus, direction, previouslyFocusedRect);
        if (gainFocus) {
            this.bringToFront();
//            this.setBackground(getResources().getDrawable(R.drawable.focus_bound_item));
//            this.setBackgroundColor(getResources().getColor(R.color.gray));
            getRootView().requestLayout();
            getRootView().invalidate();
            zoomOut();
        } else {
//            this.setBackground(getResources().getDrawable(R.drawable.trans));
            zoomIn();
        }
    }

    public void hasFoucs(){
        zoomOut();
    }

    public void lostFoucs(){
        zoomIn();
    }
     
    private void zoomIn() {
        if (scaleSmallAnimation == null) {
            scaleSmallAnimation = AnimationUtils.loadAnimation(getContext(), R.anim.aa);
        }
        startAnimation(scaleSmallAnimation);
    }
     
    private void zoomOut() {
        if (scaleBigAnimation == null) {
            scaleBigAnimation = AnimationUtils.loadAnimation(getContext(), R.anim.bb);
        }
        startAnimation(scaleBigAnimation);
    }
     
}