4

を使用したときはSlidingUpPanelLayout、2 つの子レイアウト (メインとパネル) を設定する必要がありました。2 番目のレイアウト (パネル) が開いているときに、Button. しかし、私はその方法を見つけることができませんでした。

方法は何ですか?

4

3 に答える 3

12

一番下の最後のバージョン

よくわかりましたら、2つ目が開いたlistenerときに実装したいですよね?view

その方法は次のようになります。

最初に次を宣言しSlidingUpPanelLayoutます。

SlidingUpPanelLayout layout;

次に、それを初期化しますonCreate()

layout = (SlidingUpPanelLayout) findViewById(R.id.sliding_layout);

その後、必要に応じて、次の方法でその子をクリック可能に設定できます。

layout.setEnableDragViewTouchEvents(true);  

さて、重要な部分はこれです。にリスナーを追加するlayout

 layout.setPanelSlideListener(new PanelSlideListener() {

        @Override
        public void onPanelSlide(View panel, float slideOffset) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onPanelCollapsed(View panel) {
            // TODO Auto-generated method stub
            //Anything you put here is going to happen if the view is closed
        }

        @Override
        public void onPanelExpanded(View panel) {
            // TODO Auto-generated method stub
            //Anything you put here is going to happen if the view is open
        }

        @Override
        public void onPanelAnchored(View panel) {
            // TODO Auto-generated method stub

        }
    });

これが役立つことを願っています!ハッピーコーディング!

EDIT:ペインを閉じたり開いたりしたい場合はboolean、クラス内に2つのメソッドがあります:

layout.collapsePane(true); //to close
layout.expandPane(true); //to open

編集。現在のバージョン 例へのリンク

layout.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED); //to close
layout.setPanelState(SlidingUpPanelLayout.PanelState.EXPANDED); //to open
于 2014-04-03T04:19:02.963 に答える
0

新しいバージョンではsetFadeOnClickListenerを使用します

 /**
     * Provides an on click for the portion of the main view that is dimmed. The listener is not
     * triggered if the panel is in a collapsed or a hidden position. If the on click listener is
     * not provided, the clicks on the dimmed area are passed through to the main layout.
     *
     * @param listener
     */
    public void setFadeOnClickListener(View.OnClickListener listener) {
        mFadeOnClickListener = listener;
    }
于 2018-04-23T10:14:36.153 に答える