国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Android Material Design系列之CoordinatorLayout等

Little_XM / 1091人閱讀

摘要:原圖加載毛玻璃的效果比較快,你的這個打開白屏好幾秒。這就是系列第六篇之系列之,等。這個系列的講解和實例都會整理在一個里,的地址去吧,我會慢慢完善的。

這篇文章其實我一直在想,是寫還是不寫,因為關于講 CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout,Toolbar,TabLayout 等這些控件的使用,以前寫過一篇,那就是《通過來模仿稀土掘金個人頁面的布局來學習使用CoordinatorLayout 》,一直關注和看公眾號的關注者應該看到過,上一篇的推送也特別講了 CoordinatorLayout 的其他用法,看過的人都說還能這么用啊?哈哈……這次寫這篇是對我上一篇《通過來模仿稀土掘金個人頁面的布局來學習使用CoordinatorLayout 》遺留問題的加強和修改。

這次關于 CoordinatorLayout,AppBarLayout,CollapsingToolbarLayout,Toolbar,TabLayout 等這些控件的用法我就不講了,不懂的或者不清楚的就去看《通過來模仿稀土掘金個人頁面的布局來學習使用CoordinatorLayout 》這篇文章,因為這次我們主講怎么把上次大家給我提問的問題進行修改和加強,優化等。

問題

上次關于仿稀土掘金的文章發出后,我看到有人在微信后臺跟我留言,也有人在github上給我提問題,大約問的最多的有三個問題。

原圖是沉浸狀態欄,你的這個模仿的效果圖沒有做到。

原圖加載毛玻璃的效果比較快,你的這個打開app白屏好幾秒。

原圖fragment中有列表,你的沒有,為什么我放上ListView之后,標題欄不能折疊等等

現在我們就從以上三個問題,進行修改和加強,優化,在講之前,先看效果圖對比,如果感覺好,你們再繼續往下看。

稀土掘金原圖

之前的模仿效果圖

增強,修改,優化后的效果圖

解決方法 第一個問題

大致的方法過程就是如下:

配置window的各項參數,使狀態欄透明

    /**
     * 使狀態欄透明
     */
    @TargetApi(Build.VERSION_CODES.KITKAT)
    private static void transparentStatusBar(Activity activity) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
            activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
        } else {
            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        }
    }

設置根布局的參數

    /**
     * 設置根布局參數
     */
    private static void setRootView(Activity activity) {
        ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.
        findViewById(android.R.id.content)).getChildAt(0);
        rootView.setFitsSystemWindows(true);
        rootView.setClipToPadding(true);
    }

添加半透明矩形條

    /**
     * 添加半透明矩形條
     *
     * @param activity       需要設置的 activity
     * @param statusBarAlpha 透明值
     */
    private static void addTranslucentView(Activity activity, int statusBarAlpha) {
        ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content);
        // 移除半透明矩形,以免疊加
        if (contentView.getChildCount() > 1) {
            contentView.getChildAt(1).setBackgroundColor(Color.argb(statusBarAlpha, 0, 0, 0));
        } else {
            contentView.addView(createTranslucentStatusBarView(activity, statusBarAlpha));
        }
    }

大致的步驟就是這樣,我這里用的是別人封裝好的,github地址是:https://github.com/laobie/StatusBarUtil 大家可以去參考使用。

第二個問題

以前的毛玻璃效果,是我從網上找的一個毛玻璃算法,然后搞出來的,確實很慢,然后我在網上找更快的加載的速度的算法,找來找去,網上都是那幾種,最快的也得白屏四秒,最后終于搞定了一個快的,真的是腦子不靈活了,光想著毛玻璃了,不是glide也支持毛玻璃,支持模糊效果嗎?一用它確實快。就是這么解決的。怎么使用的,我相信用過glide的都會吧,如果你沒用過,就去下載源碼吧,里面寫的非常簡單。

第三個問題

CoordinatorLayout協同布局在一般只結合RecyclerView和NestedScrollView使用,所以你用ListView沒有效果,如果你硬要用ListView那就比較麻煩了,倒不是做不到。你去分析源碼可以知道RecyclerView和NestedScrollView它們都實現了一個接口NestedScrollingChild,所以我們可以自定義ListView,實現NestedScrollingChild接口就好。你也可以使用listView.setNestedScrollingEnabled(true)也行,也能做到,但是貌似這兩種方法只能支持在android5.0以上的手機才能用,所以還是建議大家使用RecyclerView就沒那么多事了。

這就是Material Design系列第六篇之《Android Material Design系列之CoordinatorLayout,CollapsingToolbarLayout等》。

這個系列的講解和實例都會整理在一個demo里,demo的github地址:https://github.com/loonggg/MaterialDesignDemo 去star吧,我會慢慢完善的。

仿稀土掘金效果的demo也放到上邊的那個綜合demo里了,當然多帶帶的demo效果也修改了,地址是:https://github.com/loonggg/CoordinatorLayoutDemo

MaterialDesign系列文章推薦:
Android Material Design系列之RecyclerView和CardView(可點擊)
Android Material Design系列之Toolbar(可點擊)
Android Material Design系列之Navigation Drawer(可點擊)
Android Material Design系列之FloatingActionButton和Snackbar(可點擊)
Android Material Design系列之Palette(可點擊)
擴展篇(可點擊):
通過來模仿稀土掘金個人頁面的布局來學習使用 CoordinatorLayout
CoordinatorLayout的使用如此簡單

歡迎關注微信公眾號:非著名程序員(smart_android),每天每周定時推送原創技術文章。所有技術文章, 均會在微信訂閱號首發,關注微信公眾號可以及時獲得技術文章推送。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64898.html

相關文章

  • Android Material Design系列FloatingActionButton和Sna

    摘要:今天主講的系列的兩個控件都不難,所以一起講了,分別是和。之所以出現這么久了,不太火,不太常用,估計跟他懸浮有關,容易擋住其他內容。那我們現在就研究改如何在滑動列表時隱藏和顯示這個懸浮按鈕。其實也非常簡單,和修改樣式的過程差不多。 今天主講的Material Design系列的兩個控件都不難,所以一起講了,分別是FloatingActionButton和Snackbar。這個系列都是主講...

    iKcamp 評論0 收藏0

發表評論

0條評論

Little_XM

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<