public void back_butt_clicked(View v) { Toast.makeText(ShopPageClicked.this, "back_butt_clicked", Toast.LENGTH_SHORT).show(); getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); getSupportActionBar().setCustomView(R.layout.custom_action_bar); ImageView im_shop = (ImageView) findViewById(R.id.shop_icon); im_shop.setImageDrawable(getResources().getDrawable(R.drawable.shop_selected)); rl_front.setVisibility(View.VISIBLE); System.out.println("back button clicked"); TranslateAnimation tanim1 = new TranslateAnimation( TranslateAnimation.RELATIVE_TO_PARENT, 0, TranslateAnimation.RELATIVE_TO_PARENT, 0, TranslateAnimation.ABSOLUTE, 0, TranslateAnimation.ABSOLUTE, ((RelativeLayout) rl_front.getParent()).getHeight()); tanim1.setDuration(400); tanim1.setFillAfter(false); tanim1.setAnimationListener( new AnimationListener() { @Override public void onAnimationStart(Animation animation) { // TODO Auto-generated method stub } @Override public void onAnimationRepeat(Animation animation) { // TODO Auto-generated method stub } @Override public void onAnimationEnd(Animation animation) { // TODO Auto-generated method stub lin_anim.setVisibility(View.GONE); rl_front.requestFocus(); // rl_front.setVisibility(View.VISIBLE); System.out.println("anim end"); } }); tanim1.setInterpolator(new DecelerateInterpolator()); lin_anim.setAnimation(tanim1); }
public void apply_filter_butt_clicked(View v) { getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); getSupportActionBar().setCustomView(R.layout.custom_action_bar); ImageView im_shop = (ImageView) findViewById(R.id.shop_icon); im_shop.setImageDrawable(getResources().getDrawable(R.drawable.shop_selected)); ArrayList<Model> selected_men_models = new ArrayList<Model>(); ArrayList<Model> selected_women_models = new ArrayList<Model>(); ArrayList<Model> selected_kids_models = new ArrayList<Model>(); ArrayList<String> selected_strings = new ArrayList<String>(); selected_men_models = (ArrayList<Model>) adapter_active_men.getListModels(); selected_women_models = (ArrayList<Model>) adapter_active_women.getListModels(); selected_kids_models = (ArrayList<Model>) adapter_active_kids.getListModels(); for (int i = 0; i < selected_men_models.size(); ++i) { String tmp = selected_men_models.get(i).getName(); tmp = tmp.toLowerCase(); tmp = tmp.replaceAll("\\s+", ""); selected_strings.add("m_" + tmp); } for (int i = 0; i < selected_women_models.size(); ++i) { String tmp = selected_women_models.get(i).getName(); tmp = tmp.toLowerCase(); tmp = tmp.replaceAll("\\s+", ""); selected_strings.add("w_" + tmp); } for (int i = 0; i < selected_kids_models.size(); ++i) { String tmp = selected_kids_models.get(i).getName(); tmp = tmp.toLowerCase(); tmp = tmp.replaceAll("\\s+", ""); selected_strings.add("k_" + tmp); } if (selected_strings.size() > 0) { shop_list = new ArrayList<ShopInfo>(); for (int i = 0; i < selected_strings.size(); ++i) { for (int j = 0; j < unchangeable_shop_list.size(); ++j) { String cat_all = unchangeable_shop_list.get(j).categories; System.out.println(cat_all); String[] cat_split = cat_all.split("\\+"); // ArrayList<String> list_cat = (ArrayList<String>) Arrays.asList(cat_split); for (int k = 0; k < cat_split.length; ++k) { if (selected_strings.get(i).equals(cat_split[k])) { shop_list.add(unchangeable_shop_list.get(j)); break; } } } } shop_list = new ArrayList<ShopInfo>(new LinkedHashSet<ShopInfo>(shop_list)); } else { shop_list = unchangeable_shop_list; } after_load(); rl_front.setVisibility(View.VISIBLE); System.out.println("back button clicked"); TranslateAnimation tanim1 = new TranslateAnimation( TranslateAnimation.RELATIVE_TO_PARENT, 0, TranslateAnimation.RELATIVE_TO_PARENT, 0, TranslateAnimation.ABSOLUTE, 0, TranslateAnimation.ABSOLUTE, ((RelativeLayout) rl_front.getParent()).getHeight()); tanim1.setDuration(400); tanim1.setFillAfter(false); tanim1.setAnimationListener( new AnimationListener() { @Override public void onAnimationStart(Animation animation) { // TODO Auto-generated method stub } @Override public void onAnimationRepeat(Animation animation) { // TODO Auto-generated method stub } @Override public void onAnimationEnd(Animation animation) { // TODO Auto-generated method stub lin_anim.setVisibility(View.GONE); rl_front.requestFocus(); // rl_front.setVisibility(View.VISIBLE); System.out.println("anim end"); } }); tanim1.setInterpolator(new DecelerateInterpolator()); lin_anim.setAnimation(tanim1); }
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View rootView = inflater.inflate(R.layout.with_overlay, container, false); // Referenciamos el botón como final Button wejecuta = (Button) rootView.findViewById(R.id.wejecuta); // Obtenemos el cuadrado y el ViewGroup, que será el padre del cuadrado (que es donde lo // queremos añadir) final RelativeLayout cuadrado = (RelativeLayout) rootView.findViewById(R.id.cuadrado); final ViewGroup padre = (ViewGroup) cuadrado.getParent(); // Si lo pulsamos, pasa esto: wejecuta.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // Añadimos el botón al elemento padre padre.getOverlay().add(cuadrado); // Creamos el interpolador para la animación OvershootInterpolator sOvershooter = new OvershootInterpolator(2f); // Animaciones para el cuadrado y un listener para detectar cambios en la animación. cuadrado.animate().setDuration(8000); cuadrado .animate() .setInterpolator(sOvershooter) .scaleX(7f) .scaleY(7f) .alpha(0) .translationY(padre.getHeight()) .setListener( new Animator.AnimatorListener() { /* Tras el fin de la animación (o su posible cancelación) eliminamos el TextView, que es lo que queríamos realizar. Cuando se añade a la Overlay se elimina de su padre, por lo cual sólo hace falta eliminarlo de la OverlayLayout. */ @Override public void onAnimationStart(Animator animation) { // No nos interesa hacer nada cuando comienza. } @Override public void onAnimationEnd(Animator animation) { // Animación acabada, eliminamos el cuadrado padre.getOverlay().remove(cuadrado); } @Override public void onAnimationCancel(Animator animation) { // Animación cancelada, eliminamos el cuadrado padre.getOverlay().remove(cuadrado); } @Override public void onAnimationRepeat(Animator animation) { // No nos interesa hacer nada } }); // Iniciamos animación cuadrado.animate().start(); } }); return rootView; }