Правильная операция приема для слияния двух наблюдаемых

Самый простой способ - обернуть фрагмент карты внутри FrameLayout вместе с ImageView. Изображение будет отображать закругленный прямоугольник поверх фрагмента карты. В его простейшей форме вы увидите фрагмент карты внутри закругленного прямоугольника с его углами, торчащими из закругленного прямоугольника, потому что сам вид карты не закруглен. Чтобы преодолеть эту визуальную странность, просто примените значение layout_margin на фрагменте карты. Значение должно быть равно ширине границы прямоугольника.

   

    

    


Выравниваемый прямоугольник определяется как форма xml, как показано ниже




    

    


Обратите внимание, что ширина штриха прямоугольника равна 3dp, что является точно таким же значением, которое мы применяли к Свойство layout_margin фрагмента карты. В результате получается красиво округленный фрагмент карты, как показано на скриншоте ниже

0
задан salman 25 February 2019 в 15:08
поделиться

1 ответ

Вы должны использовать concat() вместо merge().

Вы можете следовать этой схеме:

// Our sources (left as an exercise for the reader)
Observable<Data> memory = ...;
Observable<Data> disk = ...;
Observable<Data> network = ...;

// Retrieve the first source with data
Observable<Data> source = Observable
  .concat(memory, disk, network)
  .first();

Подробнее здесь

0
ответ дан mmBs 25 February 2019 в 15:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: