tapatalkのように「アクションバー」を使いたいです。もちろん、すべてのボタン機能を何度もコピーしたくはありません。
これを行うための簡単な解決策はありますか?
また、背景のドローアブルを設定する場合は、異なるレイアウトで同じにしたいです。
私は2つのアプローチを見ることができます:
または(私はそれがはるかに優れていると思います)
オンクリックを設定するコンストラクター引数としてアクティビティを受け入れるヘルパークラスを用意するだけです。そのクラスをインスタンス化する (オブジェクトの作成が心配な場合は静的メソッドを呼び出す) ことを覚えておく必要があります。
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;
}
}
}
背景に関しては、スタイルに行きます。同じスタイルを使用して、同じ背景にしたいすべてのアクティビティを用意します (マニフェストで定義できます)。