2016-10-25 8 views
0

解決策が見つからないUmano AndroidSlidingUpPanelに問題があります。 2つのビューが1つ上にあり、もう1つは上下にスクロールするオプションがあり、デモではhttps://github.com/umano/AndroidSlidingUpPanelのように完璧に動作します。しかし、崩壊している間はトップビューを完全に非表示にしたいと思っています。umanoPanelHeight = "0dp"この行の問題は、高さが0のときにパネルに到達できないということです。 メニューを左からスライドして右からスライドさせると、Googleマップに必要な機能があります。Umano AndroidSlidingUpPanel高さ= 0のパネルをドラッグ

私のコードは、デモのものとかなり似ていますので、私はここにコードを貼り付けても意味がありません。私はこれを解決するための他の選択肢を公開していますが、初期のAndroidバージョンとの下位互換性が必要です。

これについてのご意見ありがとうございます!

+0

私はUmanoとは別のライブラリを使用することをお勧めします。制限が少なく、パフォーマンスが向上し、実装が容易ですhttps://github.com/drxeno02/androidprojects-book2-slidingdrawer – portfoliobuilder

答えて

1

私は同様の機能を望んでいました。パネルの高さを0にしてスワイプで拡大したかったのです。

  1. カスタムレイアウトを作成し、onTouchIntercepted方法
  2. IDとセットでカスタムビューを見つけ、あなたの活動に
  3. (インタフェースを使用)活動からのコールバックイベントを呼び出して設定するためのロジックを追加をオーバーライドします新しいコールバック、コールバックでPanelState.EXPANDEDここ

にあなたのパネルの状態を設定だと私はコントリビューターのGithubページから得た例クラス:

public class SlidingAwareLinearLayout extends LinearLayout { 
    public SlidingAwareLinearLayout(final Context context) { 
    super(context); 
} 

public SlidingAwareLinearLayout(final Context context, final AttributeSet attrs) { 
    super(context, attrs); 
} 

public SlidingAwareLinearLayout(
     final Context context, final AttributeSet attrs, final int defStyleAttr) { 
    super(context, attrs, defStyleAttr); 
} 

public SlidingAwareLinearLayout(
     final Context context, final AttributeSet attrs, final int defStyleAttr, 
     final int defStyleRes) { 
    super(context, attrs, defStyleAttr, defStyleRes); 
} 

@Override 
public boolean onInterceptTouchEvent(final MotionEvent ev) { 
    SlidingUpPanelLayout panel = (SlidingUpPanelLayout) getParent(); 
    if (ev.getAction() == MotionEvent.ACTION_DOWN 
      && panel.getPanelState() == SlidingUpPanelLayout.PanelState.ANCHORED) { 
     panel.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); 
     return true; 
    } 

    return super.onInterceptTouchEvent(ev); 
} 
} 

リソース:https://github.com/umano/AndroidSlidingUpPanel/issues/476

+0

残念ながら、私はこれに関連するプロジェクトに取り組んでいないので、これはできません。私は他の誰かがコメントをするまでこれを正解とマークすることができます。あなたもありがとう、Stigasaur! – andeey

+0

@andeeyありがとう!私はviewdraghelpersまたはコーディネータレイアウトのビヘイビアを自分で使用することになります – Stigasaur

関連する問題