タッチ時にオーバーレイとして持っている上部のアクションバーを非表示にしてから、別のタッチで再度表示したいと考えています。どういうわけか、おそらく onTouchListener を何かに追加する必要がありますが、どうすればよいですか? イベントは、他のハンドラーによって消費されない場合にのみ処理する必要があるため、スライドして画像などを変更してもマルチタッチが機能します。ありがとうございます。
3259 次
1 に答える
6
このようなものは機能するはずです(テストされていないコード-だから、塩の粒で取ります)
基本的には、onTouch をオーバーライドし、機能を失わないようにそのスーパー メソッドを呼び出します。消費されているかどうかを確認し、そうでない場合はトグルまたはアクションバーの表示/非表示を切り替えます。
Boolean showBar = true; // Global variable
@Override
public boolean onTouch(View v, MotionEvent event) {
Boolean result = super.onTouch(v,event);
if(!result) // False - Not consumed event.
{
if(showBar) // Toggle action bar visiblity
getActionBar().hide();
else
getActionBar().show();
showBar = !showBar;
}
return result;
}
于 2012-08-18T21:23:45.573 に答える