jfeinstein10のスライディングメニューライブラリの一部である例の1つを見てください
その中で、BirdActivity.javaで、2秒後にがどのようにActionBar
表示および非表示になるかを確認できます。当然、コードを自分で調整する必要があります。しかし、これで始められるはずです。
行番号53-58からのコードの抜粋:
imageView.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
getSupportActionBar().show();
hideActionBarDelayed(mHandler);
}
});
行番号80-86hideActionBarDelayed()
から:
private void hideActionBarDelayed(Handler handler) {
handler.postDelayed(new Runnable() {
public void run() {
getSupportActionBar().hide();
}
}, 2000);
}
アップデート
コードが不足しているため、問題のほとんどが想定されています。OPからのデータが不足しているというだけの理由で間違っている可能性があります。そうは言っても、 「ビュー階層を作成した元のスレッドだけがそのビューに触れることができる」と整理すると。問題はそれを修正します、おそらくこれはあなたのためにそれをするかもしれません:
Runnable run = new Runnable() {
@Override
public void run() {
// RUN YOUR CODE TO HIDE / SHOW THE ACTIONBAR HERE
}
}; YOUR_ACTIVITY.this.runOnUiThread(run); // REPLACE WITH getActivity().runOnUiThread(run); IF THIS IS A FRAGMENT
注:この例では、問題のアクティビティはActionBarSherlockを使用して拡張SherlockActivity
しているため、を使用していますgetSupportActionBar()
。ABSを使用していない場合getActionBar()
は、前者の代わりに使用する必要があります。