を使用したときはSlidingUpPanelLayout
、2 つの子レイアウト (メインとパネル) を設定する必要がありました。2 番目のレイアウト (パネル) が開いているときに、Button
. しかし、私はその方法を見つけることができませんでした。
方法は何ですか?
を使用したときはSlidingUpPanelLayout
、2 つの子レイアウト (メインとパネル) を設定する必要がありました。2 番目のレイアウト (パネル) が開いているときに、Button
. しかし、私はその方法を見つけることができませんでした。
方法は何ですか?
一番下の最後のバージョン
よくわかりましたら、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
新しいバージョンでは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;
}