0

tapatalkのように「アクションバー」を使いたいです。もちろん、すべてのボタン機能を何度もコピーしたくはありません。

これを行うための簡単な解決策はありますか?

また、背景のドローアブルを設定する場合は、異なるレイアウトで同じにしたいです。

4

1 に答える 1

1

私は2つのアプローチを見ることができます:

  • コメントで言ったように、すべてのアクティビティが onClick を実装する基本アクティビティを拡張するようにします。基本アクティビティを拡張する必要があり、将来リストアクティビティが必要な場合は問題が発生する可能性があるため、このアプローチは好きではないかもしれません。

または(私はそれがはるかに優れていると思います)

  • オンクリックを設定するコンストラクター引数としてアクティビティを受け入れるヘルパークラスを用意するだけです。そのクラスをインスタンス化する (オブジェクトの作成が心配な場合は静的メソッドを呼び出す) ことを覚えておく必要があります。

    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 に答える