0

詳細ビューを作成したいと思います。オブジェクトをクリックすると、下から詳細レイアウトが表示されます。 レイアウト上の任意の場所をタッチしてレイアウトを移動することができます。Androidの下から表示されるレイアウトを作成するにはどうすればよいですか?

私はいくつかのコードを使用しましたが、正しく動作しません。 レイアウトに触れると、レイアウトの上辺がタッチポイントの下に表示されます。さらに、レイアウトのポイントと上端の間にいくらかのマージンがあります

例題は私が何を意味するかを示しています。それはあなたが材料設計でBottom sheetと呼ばれている探しているものをマッピングアプリ "2gis"

mLinearLayout.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View view, MotionEvent event) { 

     CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) view.getLayoutParams(); 
     if (view.getId() != R.id.bottomPanel) return false; 

     switch (event.getAction()) 
     { 
      case MotionEvent.ACTION_MOVE: 
       params.topMargin = (int)event.getRawY(); 
       view.setLayoutParams(params); 
       break; 

      case MotionEvent.ACTION_UP: 

       view.setLayoutParams(params); 
       break; 

      case MotionEvent.ACTION_DOWN: 
       break; 
     } 

     return true; 
    } 
}); 

example 1

example 2

答えて

2

です。 Androidデザインサポートライブラリv23.2。+に含まれています。

すべてを行う必要がBottomSheetBehaviorにコンテナビューのlayout_behaviorを設定することです:

+0

感謝。それは古いバージョンで動作しますか?アンドロイド4.4など? –

+0

はいサポートされているライブラリでサポートされている旧バージョンで動作します。サポートライブラリの詳細については、こちらを参照してください。http://stackoverflow.com/questions/12926548/what-is-an-android-support-library –

+0

素晴らしいこと!どうもありがとうございました。 –

関連する問題