3

Android 3.2 (Honeycomb) を搭載したデバイスで SlidingMenu Library と ViewPager を実行すると、奇妙な問題が発生します。

SlidingMenu を「トグル」して、アプリの左側に隠れているメニューを表示すると、問題が発生します。これを行うと、ContentView と BehingContentView の両方がタッチ イベントへの応答を停止します。

これは私のアプリケーションに関連する問題だと考えて、ABS と SlidingMenu ライブラリの最新バージョンをダウンロードし、SlidingMenu に付属する組み込みのサンプルを使用して新しいプロジェクトを構成しました。驚いたことに、ViewPager でも同じ動作が発生しました。例。

これらは私が行った手順です:

  1. API レベル 13および7" WSVGA (タブレット)を使用してエミュレータを構成します。
  2. GIT からABSSlidingMenuをダウンロードします。
  3. 互換性ライブラリandroid-support-v41 (android-support-v4 でもテスト済み)を使用して、新しいプロジェクトをセットアップします。
  4. https://github.com/jfeinstein10/SlidingMenu/issues/145で説明されているように、「 getSupportActionBar() は未定義です」という問題を解決しました。
  5. 「サンプル アプリケーション」を実行し、 「 ViewPager」の例を選択します。
  6. メニューを開かに、ページを左右にスワイプします。
  7. メニューを開きます。リストが期待どおりにスクロールしないことを確認してください。
  8. メニューを閉じます。ビューページャーがタッチ イベントに応答しなくなったことを確認します。

この動作は、Android 3.2 デバイスでのみ報告されていることに注意してください。2.x デバイスと 4.x デバイスで同じアプリケーションを実行していますが、この問題はありません。

また、Google Play からダウンロードしたサンプル アプリケーションにはこの問題がないことに気付きました。

誰かアドバイスはありますか?どうもありがとう!

編集 1

実機にて動作確認済みです。誰かアドバイスはありますか?

4

1 に答える 1

6

同じ問題が発生し、次の回避策を使用して修正しました。

SlidingMenu.java の次の行を置き換えます。

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void manageLayers(float percentOpen) {
    if (Build.VERSION.SDK_INT < 11) return;

と:

@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public void manageLayers(float percentOpen) {
    if (Build.VERSION.SDK_INT < 14) return;
于 2013-05-16T13:57:17.077 に答える