代码之家  ›  专栏  ›  技术社区  ›  Pattatharasu Nataraj burakarasu

在android中更新可绘制图像运行时

  •  1
  • Pattatharasu Nataraj burakarasu  · 技术社区  · 7 年前

    我正在尝试更新android图像 onClick公司 这是在弹出窗口中动态创建的,如果我单击图像,图像必须替换为较小尺寸的图像,它将重定向到另一个片段加载片段后,资源必须变为正常大小,我尝试了以下代码。

      if (MenuButton[0].getId() == v.getId()) {                
            MenuButton[0].setBackgroundResource(R.drawable.Small_menu_general); //updating here
            myLog.v(TAG, Thread.currentThread().getStackTrace()[2].getLineNumber(), "Select Menu", "General Setting");
            Product_Location(Vars.Menu_General);
            GlobalClass.fragment = new Run_Screen();
            getSupportFragmentManager().beginTransaction().setCustomAnimations(R.anim.fade_in, 0, 0, R.anim.fade_out).replace(R.id.fragment_place, GlobalClass.fragment).commit();
            HideMainMenu();
        } 
    

    在HideMainMenu()中,我试图将其更新为正常

    public void HideMainMenu() {
      Menu_Frame_1.clearAnimation();
      Menu_Frame_1.startAnimation(Menu_Hide_Anim);
      Menu_Frame_2.clearAnimation();
      Menu_Frame_2.startAnimation(Menu_Hide_Anim);
      Main_Menu.startAnimation(MenuHideRotation);
      MenuButton[0].setBackgroundResource(R.drawable.Normal_menu_general); //retaining to normal here
    }
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Tigris    7 年前

    您可以使用状态来实现这一点

    StateListDrawable states = new StateListDrawable();
     states.addState(new int[] {android.R.attr.state_pressed},
     getResources().getDrawable(R.drawable.Small_menu_general));
     MenuButton[0].setImageDrawable(states);