Intereting Posts
TextView и Ellipsize при сжатии другим TextView Как преобразовать массив байтов изображения в кодировку base64, представляющую jpg Какие системные изображения следует установить для Android L Developement? Установите дополнительные функции для BroadcastReceiver DownloadManager Android getPixels (), возможно, глупая ошибка? Android. Во время обработки изображения лучше хранить или использовать его во временной памяти? Как получить доступ к родительскому представлению активности в фрагменте Ошибка градиента – выполнение выполнено для задачи: app: dexDebug ' Многие сфокусированные фотографии с одной фокусировкой на Android? Как передать данные обратно в родительскую активность Java.lang.UnsatisfiedLinkError: Не удалось загрузить stlport_shared: findLibrary возвратил null (tess-two) UnsatisfiedLinkError Android Как остановить поток ASyncTask в android Возможно ли прочитать данные сериализации в android, которые были сделаны при разработке iphone? Webview медленно загружается

Нельзя использовать макет ScrollView внутри SlidingUpPanelLayout Xamarin Android

Я использовал эту библиотеку в своем коде. В основном у меня есть a ScrollView на макете панели SlidingUp. Код выглядит следующим образом:

<cheesebaron.slidinguppanel.SlidingUpPanelLayout android:id="@+id/sliding_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="bottom"> <android.support.v4.view.ViewPager android:id="@+id/HomeFrameLayout" android:layout_width="match_parent" android:layout_height="match_parent" /> <ScrollView android:id="@+id/slidingPanelScrollView" android:layout_height="match_parent" android:layout_width="match_parent" android:background="@android:color/transparent" android:clickable="true" android:focusable="false"> <RelativeLayout android:layout_height="match_parent" android:layout_width="match_parent"> <RelativeLayout android:id="@+id/cardHolderRelativeLayout" android:layout_height="match_parent" android:layout_width="380dp" android:background="@android:color/transparent" android:layout_centerHorizontal="true" android:padding="10dp"> <LinearLayout android:id="@+id/linearLayout1" android:layout_height="250dp" android:layout_width="match_parent" android:background="#FF0000" android:layout_marginBottom="15dp" /> <LinearLayout android:id="@+id/linearLayout2" android:layout_height="250dp" android:layout_width="match_parent" android:background="#00FF00" android:layout_marginBottom="15dp" android:layout_below="@id/linearLayout1" /> <LinearLayout android:id="@+id/linearLayout3" android:layout_height="250dp" android:layout_width="match_parent" android:background="#0000FF" android:layout_marginBottom="15dp" android:layout_below="@id/linearLayout2" /> <LinearLayout android:id="@+id/linearLayout4" android:layout_height="250dp" android:layout_width="match_parent" android:background="#0000FF" android:layout_marginBottom="15dp" android:layout_below="@id/linearLayout2" /> </RelativeLayout> </RelativeLayout> </ScrollView> </cheesebaron.slidinguppanel.SlidingUpPanelLayout> 

Я хочу добиться того, что если расширение SlidingUpPanelLayout будет расширено, пользователь должен иметь возможность прокручивать ScrollView. Если ScrollView прокручивается вверх (пользователь прокручивается вниз по своему телефону), и пользователь продолжает прокручивать вниз, SlidingUpPanelLayout должен рухнуть.

Я реализую следующий код:

_slidingUpPanelLayout.NestedScrollingEnabled = true;

  _scrollView.ViewTreeObserver.ScrollChanged += (sender, e) => { var y = _scrollView.ScrollY; if (y < -20) { _slidingUpPanelLayout.SlidingEnabled = true; } }; _slidingUpPanelLayout.PanelExpanded += (sender, args) => { RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MatchParent, RelativeLayout.LayoutParams.MatchParent); _cardHolderRelativeLayout.LayoutParameters = layoutParams; _slidingUpPanelLayout.SlidingEnabled = false; }; 

В основном я устанавливаю SlidingEnable в true / false, чтобы изменить прослушиватель событий прокрутки.

Однако проблема с ScrollView. Он запускается только при прокрутке ScrollView и затем прокрутке вниз.

Во всяком случае, я не думаю, что мой подход – хороший подход. Любое предложение? Кроме того, когда я смотрю на библиотеку AndroidSlidingUpPanel на основе Android, похоже, что он уже поддерживает ScrollView внутри SlidingUpPanelLayout. Не уверен, что я прав или нет.

Я также не уверен, что что-то связано с NestedScrollingEnabled = true для панели SlidingUp или нет, но я видел немало рекомендаций по Stackoverflow.

Ура,

Попробуйте использовать nestedScrollview вместо scrollview

 NestedScrollView scrollView = (NestedScrollView) findViewById (R.id.scrollView); scrollView.setFillViewport (true);