2015-07-15 3 views
0

Это должен быть простой ответ, если вы хорошо знаете android. Я разрабатываю приложение, которое требует реализации Google MapFragment. Я хочу иметь область текста под ней в прокрутке, как показано ниже. Тем не менее, я хочу дать тексту эффект прокрутки вверх на карте (очень похоже на андроид игры магазин эффект найден here.Android - Передайте событие касания через часть ScrollView

Not scrolled view Half scrolled view

Для реализации этого я решил сделать старт Scrollview на в верхней части карты и просто поместите невидимую проставку над картой, чтобы придать вид, что текст начинается ниже. Поставив отображение карты за прокруткой, событие касания, конечно, «украдено» (поэтому я не могу переместить вокруг меня, и т. д.). Я подумал, что может быть способ позволить событиям касания сбрасывать через ScrollView и перехватываться видом карты. Возможно ли это? Или есть лучший способ, которым я должен это?

Мой код выглядит примерно так:

<!-- This will be the map (dynamically loaded in) --> 
<fragment 
    ... 
    android:layout_height="200dp" 
    android:id="@+id/map" 
    android:layout_below="@+id/searchBox" 
    ... 
/> 

<!-- Note: starts under searchBox, just like @+id/map does --> 
<ScrollView 
    ... 
    android:layout_below="@+id/searchBox" 
    ... 
> 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <!-- This is the spacer. Covers the map so that the content can be positioned under it (thus content is under the map as well) --> 
     <View 
      android:layout_width="wrap_content" 
      android:layout_height="200dp" 
      android:id="@+id/mapSpacer"/> 

     ... The actual text content goes here 

    </RelativeLayout> 
</ScrollView> 

я ценю ответы. Если что-то смущает, спросите.

+0

Возможный дубликат [Как захватить события onTouch на двух перекрывающихся представлениях?] (Http://stackoverflow.com/questions/26352459/how-to-capture-ontouch-events-on-two-overlapping -views) – joeblubaugh

+0

Вы можете попробовать поставить андроид: clickable = "false" на вашем scrollview, но это, вероятно, повлияет на прокрутку ... но idk, попробуйте. –

+0

Да, это не сработает: мне нужно только прокрутить событие, чтобы пройти через проставку, потому что я хочу иметь возможность прокручивать текст вверх, а также перемещаться по карте (для чего требуется прокрутка или масштабирование и т. Д.) – JFakult

ответ

1

Я решил свою проблему здесь. Вместо того, чтобы пытаться заставить карту работать в ScrollView, я просто определил несколько случаев, в которых я могу изменить z-индекс карты, чтобы он был доступен. Например, когда мое значение scrollY ScrollView равно 0, я разрешаю карте сидеть сверху. Я также добавил в пункт, позволяющий пользователю щелкнуть разделитель (охватывая карту), чтобы прокрутить представление вниз, в результате чего карта снова выйдет на передний план. Спасибо за помощь

+0

Я не думаю, что это будет работать раньше, чем LOLLIPOP – Anarchofascist

Смежные вопросы