安卓開發設定沈浸式標題列

來源:互聯網
上載者:User

標籤:ice   繪製   font   getch   tap   otv   定義   需要   http   

提示:安卓在4.4版本之後才適配沈浸式標題列,要使用需要符合這個條件

 

方法一:

步驟一:定義一個工具類ViewColor

package com.contentprovide.liuliu.music_play3;import android.annotation.TargetApi;import android.app.Activity;import android.os.Build;import android.view.View;import android.view.ViewGroup;import android.view.WindowManager;import android.widget.LinearLayout;//設定沈浸式標題列的工具類public class ViewColor {    /** * 產生一個和狀態列大小相同的矩形條 * * @param activity 需要設定的activity *     * @param color 狀態列顏色值 *     * @return 狀態列矩形條 */    private static View createStatusView(Activity activity, int color) {        // 獲得狀態列高度        int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");        int statusBarHeight = activity.getResources().getDimensionPixelSize(resourceId);        // 繪製一個和狀態列一樣高的矩形        View statusView = new View(activity);        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,                statusBarHeight);        statusView.setLayoutParams(params);        statusView.setBackgroundColor(color);        return statusView;    }    /** * 設定狀態列顏色 * * @param activity 需要設定的activity * @param color 狀態列顏色值 */    @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)    public static void setColor(Activity activity, int color) {        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {            // 設定狀態列透明            activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);            // 產生一個狀態列大小的矩形            View statusView = createStatusView(activity, color);            // 添加 statusView 到布局中            ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();            decorView.addView(statusView);            // 設定根布局的參數            ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);            rootView.setFitsSystemWindows(true);            rootView.setClipToPadding(true);        }    }}

 

步驟二:在MainActivity類中的onCreat()方法中加入

 ViewColor.setColor(this,getResources().getColor(R.color.main_red));//紅色背景是需要狀態列變的顏色

 

步驟三:在主布局檔案的根節點加入

  android:fitsSystemWindows="true"

 

 

 

 

http://blog.csdn.net/codekxx/article/details/58079960

 

 

安卓開發設定沈浸式標題列

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.