0

我想使用一个“动作栏”,就像 Tapatalk 一样。当然,我不想一遍又一遍地复制所有按钮功能。

有没有快速的解决方案来做到这一点?

此外,如果我设置背景可绘制,我希望它在不同的布局中是相同的。

4

1 回答 1

1

我可以看到两种方法:

  • 正如我在评论中所说,让您的所有活动都扩展您的实现 onClick 的基本活动。也许我不喜欢这种方法,因为它会迫使你扩展你的基本活动,如果你将来想要一个列表活动,你可能会遇到一些问题。

或(我认为这要好得多)

  • 只需有一个辅助类,它接受活动作为构造函数参数,它将为您设置 onclicks。您必须记住实例化该类(如果您担心创建对象,则调用静态方法),这将为您完成这项工作。

    public class OnClickHelper implements View.OnClickListener {
       Activity mActivity;
       public OnClickHelper(Activity a){
           mActivity = a;
       }   
    
    
       public setClickListeners(){
           Button b = (Button) mActivity.findViewById(R.id.Button1);
           b.setOnClickListener(this);
       }
    
       @Override
       public void onClick(View view) {
          switch(view.getId()){
             case R.id.button1:
    
             break;
          }
       }
    

    }

关于背景,选择风格。让所有你想拥有相同背景的活动使用相同的样式(你可以在清单中定义它)。

于 2012-12-01T10:36:20.130 回答