Как я могу отобразить состояния панели SlidingUpPanel в Kotlin?
Я хочу использовать библиотеку https://github.com/umano/AndroidSlidingUpPanel, следуя этому руководству:
http://www.devexchanges.info/2015/05/making-sliding-up-panel-like-google.html
и результат должен выглядеть следующим образом:
https://www.youtube.com/watch?v=g464fp-2dQU
Код на Java из учебной ссылки:
private SlidingUpPanelLayout.PanelSlideListener onSlideListener() {
return new SlidingUpPanelLayout.PanelSlideListener() {
@Override
public void onPanelSlide(View view, float v) {
textView.setText("panel is sliding");
}
@Override
public void onPanelCollapsed(View view) {
textView.setText("panel Collapse");
}
@Override
public void onPanelExpanded(View view) {
textView.setText("panel expand");
}
@Override
public void onPanelAnchored(View view) {
textView.setText("panel anchored");
}
@Override
public void onPanelHidden(View view) {
textView.setText("panel is Hidden");
}
};
}
Преобразованный код из Java в Kotlin (Iпоместите тост из библиотеки anko вместо textView):
private fun onSlideListener(): SlidingUpPanelLayout.PanelSlideListener {
return object : SlidingUpPanelLayout.PanelSlideListener {
override fun onPanelSlide(view: View, v: Float) {
toast("panel is sliding")
}
fun onPanelCollapsed(view: View) {
toast("panel Collapse")
}
fun onPanelExpanded(view: View) {
toast("panel expand")
}
fun onPanelAnchored(view: View) {
toast("panel anchored")
}
fun onPanelHidden(view: View) {
toast("panel is Hidden")
}
}
}
В коде Java, в методе onCreate, у меня есть:
slidingLayout.setPanelSlideListener(onSlideListener());
, который, кажется, не работает в Kotlin, потому чтоу меня есть следующие методы: Click, Drag, Hover, Key и Touch (слушатели).
Я думаю, что другим хорошим подходом может быть реализация
SlidingPaneLayout.PanelSlideListener
в моем классе, но я все еще не могне заставить его работать.
Есть ли какое-нибудь решение, чтобы узнать, отображается ли панель в Kotlin или скрыта?