最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實現(xiàn)高德地圖首頁效果(上)

 更新時間:2023年08月30日 09:02:43   作者:似曾相識2022  
這篇文章主要為大家詳細介紹了基于Android實現(xiàn)高德地圖首頁效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

今天給大家?guī)硪粋€非常熟悉的效果——高德首頁

咱們話不多說,直接上效果圖:

一般用上這個效果的都和地圖有關,看上去還是挺酷眩的。但如果從來沒了解過的同學要自己實現(xiàn)這個效果還是不容易的。值得慶幸的是,谷歌提供了現(xiàn)成的設計庫:CoordinatorLayout結合CoordinatorLayout.Behavior。

首先,xml中根布局需要是CoordinatorLayout,其子view需要是一個可滑動的View,咱們這里直接使用NestedScrollView。

<androidx.coordinatorlayout.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<androidx.core.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/shape_white"
    app:behavior_hideable="false"
    app:behavior_peekHeight="300dp"
    app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">
        <TextView
           android:layout_width="wrap_content"
           android:layout_height="match_parent"
           android:layout_gravity="center_horizontal"
           android:layout_marginTop="20dp"
           android:drawablePadding="10dp"
           android:lineSpacingExtra="20dp"
           android:gravity="center"
           android:text="我是內容\n我是內容\n我是內容\n我是內容\n我是內容\n我是內容\n我是內容\n                我是內容\n" />
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

這里需要注明下:

  • 滑動控件中需要添加layout_behavior屬性,這里默認使用BottomSheetBehavior。
  • behavior_hideable:代表是否隱藏
  • behavior_peekHeight:代表滑動控件初始展示的高度

完成xml編寫后直接運行得到如下效果:

看似好像差不多,但只能全部顯示或者只顯示我們設置的300dp高。其實,BottomSheetBehavior內部還提供了很多屬性:

  • isFitToContents:是否填充整個內容
  • expandedOffset:展開后距離頂部的高度
  • halfExpandedRatio:半展開占比
  • setState:設置當前狀態(tài):隱藏、半展開、全展開等等
  • setPeekHeight:設置初始顯示高度

原來還可以半展開,咱們直接配置上全套效

bottomSheetBehavior?.let {
   it.isFitToContents = false //展開后開度填充Parent的高度
    //setFitToContents 為false時,展開后距離頂部的位置(Parent會以PaddingTop填充)
    it.expandedOffset =  ImmersionBar.getStatusBarHeight(this) + 40//頂部距離
    it.halfExpandedRatio = 0.5f //半展開占比
    it.isHideable = false
    it.setPeekHeight(150, true)//有動畫
    it.setState(BottomSheetBehavior.STATE_HIDDEN) 
}

到這里其實已經可以滿足基本要求了,整體動畫體驗也是不錯的,非常流暢。但我們的目標還沒有達到,在之前有寫過監(jiān)聽滑動控件實現(xiàn)狀態(tài)欄顏色切換,那么現(xiàn)在我們是否也可以利用類似的原理來實現(xiàn)滑動過程中的一些效果呢?

答案是肯定的。下篇咱們繼續(xù)講解BottomSheetBehavior滑動監(jiān)聽下的效果實現(xiàn),最終完成高德首頁效果。

到此這篇關于Android實現(xiàn)高德地圖首頁效果(上)的文章就介紹到這了,更多相關Android實現(xiàn)高德地圖內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

宁南县| 东方市| 五峰| 威远县| 阿拉尔市| 山东省| 西和县| 曲阳县| 娄烦县| 耿马| 荔浦县| 盐边县| 阳泉市| 名山县| 淳安县| 白玉县| 丰镇市| 东阿县| 定日县| 定日县| 北辰区| 阳谷县| 周至县| 洪泽县| 广州市| 吉首市| 靖远县| 铁力市| 桦川县| 平顶山市| 高雄市| 石景山区| 合川市| 建始县| 云和县| 江城| 营口市| 巨鹿县| 高陵县| 旺苍县| 安阳县|