Android完美实现kitkat透明导航效果
完美实现Android4.4的透明状态栏效果
不多说 代码奉上:(注意要使用noActionbar)
public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {//这两句为关键所在 第一个是使状态栏透明化 第二个是使窗体不受限制getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);//-----------------------------------------------------super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Toolbar viewById = (Toolbar) findViewById(R.id.toolbar);viewById.setTitle("nihao");setSupportActionBar(viewById);}
}
布局页面没什么(贴出来大家看看把)
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:clipToPadding="true"><android.support.design.widget.AppBarLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:fitsSystemWindows="true"><android.support.design.widget.CollapsingToolbarLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"app:layout_scrollFlags="scroll|exitUntilCollapsed"><ImageViewandroid:layout_width="match_parent"android:layout_height="300dp"android:scaleType="fitXY"android:src="@mipmap/am"app:layout_scrollFlags="scroll|exitUntilCollapsed" /><android.support.v7.widget.Toolbarandroid:id="@+id/toolbar"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"app:layout_scrollFlags="enterAlways|scroll"android:overScrollMode="always"/></android.support.design.widget.CollapsingToolbarLayout></android.support.design.widget.AppBarLayout></android.support.design.widget.CoordinatorLayout>
百度知道上我看到和我的不一样!并解决了越界的问题
计算状态栏高度及调用沉浸式状态栏的相关API方法
package com.example.status;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.os.Build;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
public class ImmersedStatusbarUtils {/*** 在{@link Activity#setContentView}之后调用* * @param activity* 要实现的沉浸式状态栏的Activity* @param titleViewGroup* 头部控件的ViewGroup,若为null,整个界面将和状态栏重叠*/@TargetApi(Build.VERSION_CODES.KITKAT)public static void initAfterSetContentView(Activity activity,View titleViewGroup) {if (activity == null)return;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {Window window = activity.getWindow();window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);}if (titleViewGroup == null)return;// 设置头部控件ViewGroup的PaddingTop,防止界面与状态栏重叠int statusBarHeight = getStatusBarHeight(activity);titleViewGroup.setPadding(0, statusBarHeight, 0, 0);}/*** 获取状态栏高度* * @param context* @return*/private static int getStatusBarHeight(Context context) {int result = 0;int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");if (resourceId > 0) {result = context.getResources().getDimensionPixelSize(resourceId);}return result;}
}
调用实例,使用步骤一编写的相关方法。
package com.example.status;import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.Window;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.activity_main);View topView = findViewById(R.id.lin);ImmersedStatusbarUtils.initAfterSetContentView(this, topView);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
对应的布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><LinearLayoutandroid:id="@+id/lin"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#ff123654" ><TextViewandroid:id="@+id/title"android:layout_width="match_parent"android:layout_height="45.0dp"android:background="#ff123654"android:gravity="center"android:text="我是头部控件"android:textColor="#ffffffff" /></LinearLayout></LinearLayout>
Android 中沉浸式状态栏实现
Android完美实现kitkat透明导航效果相关推荐
- Android UI体验之全屏沉浸式透明状态栏效果
前言: Android 4.4之后谷歌提供了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏. 虚拟按键动态隐藏, 应用可以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种 身临其境 的体 ...
- android设置导航栏半透明,如何实现Android透明导航栏(Translucent Navigation Bar)?...
碰到一个问题,请看截图. 下面两张是Fuubo微博客户端的截图,底部导航栏都是透明的. 第一张截图中,侧边栏出来后,被底部导航栏遮住的地方是可见的. 第二张截图中,被导航栏遮住的文字内容,也是可见的. ...
- android 底部导航栏透明度,如何实现Android透明导航栏(Translucent Navigation Bar)?...
碰到一个问题,请看截图. 下面两张是Fuubo微博客户端的截图,底部导航栏都是透明的. 第一张截图中,侧边栏出来后,被底部导航栏遮住的地方是可见的. 第二张截图中,被导航栏遮住的文字内容,也是可见的. ...
- Android 使用Toolbar+DrawerLayout快速实现仿“知乎APP”侧滑导航效果
在以前,做策划导航的时候,最常用的组件便是SlidingMenu了,当初第一次用它的时候觉得那个惊艳啊,体验可以说是非常棒. 后来,Android自己推出了一个可以实现策划导航的组件DrawerLay ...
- Android studio实现底部导航,Android 开发之BottomBar+ViewPager+Fragment实现炫酷的底部导航效果...
BottomBar BottomBar是Github上的一个开源框架,因为从1.3.3开始不支持fragments了,要自己配置,弄了很久,不管是app的fragment还是V4 的程序总是总是闪退. ...
- android导航二级分类,Android实现腾讯新闻的新闻类别导航效果
效果图如下所示: 1.在Adapter中加入如下代码 private int clickTemp = -1;//TODO 被选择的item下标 /** * TODO 传入下标,设置被选择的item * ...
- android 自定义透明 等待 dialog,Android自定义Dialog内部透明、外部遮罩效果
Android自定义Dialog内部透明.外部遮罩效果 发布时间:2020-09-09 03:01:41 来源:脚本之家 阅读:117 作者:zst1303939801 本文实例为大家分享了Andro ...
- Android 10 及api29之后,解决全透明导航栏不成功
<?xml version="1.0" encoding="utf-8"?> <resources><style name=&qu ...
- android腾讯新闻,Android实现腾讯新闻的新闻类别导航效果
Android实现腾讯新闻的新闻类别导航效果 发布时间:2020-09-13 02:50:05 来源:脚本之家 阅读:135 作者:地中海伯爵 效果图如下所示: 1.在Adapter中加入如下代码 p ...
最新文章
- vuex基础到模块化
- axios 同步_githubactions进行github仓库和gitee仓库同步
- c# 类对象和实例对象_C#类和对象能力问题 套装4
- hbuild json红叉_MUI+Hbuilder之踩坑(三)
- mysql双击同步_求助,WINDOWS下MYSQL双机同步的问题
- docker machine介绍和使用
- 服务器不知道循环生成文件,Windows服务器下PowerShell命令往服务器共享文件夹进行文件拷贝、循环文件重命名...
- php 字符串转驼峰,zhouqq - PHP 蛇形命名法(snake case)和驼峰命名法(camel case) 相互转换...
- 职场新人如何高效办公?这10款软件帮到你!
- python中xlrd.open_workbook_python处理exce方法:xlrd、openyxl
- bxt是什么意思,是什么意思
- 经济机器是如何运行的?
- 基于gibbsLDA的文本分类
- maven仓库镜像改为阿里巴巴
- 高中数学立体几何高考真题解题技巧(名师总结)
- 分析 | 多视角下图情热点分析与真题分析
- 本地RTMP流媒体服务器搭建拉流简易版
- 百度熊掌号php,百度熊掌号广受站长关注phpcm网站程序的熊掌号页面插件也火了!...
- 自由到底意味着什么(三)个人商业模式
- 12种论坛常用的推广方法
热门文章
- java的populate_JAVA BeanUtils.populate错误当离开空日期输入
- python学习——基础信息
- Jetty容器SSL证书的安装
- 软件测试思想者 - 初识抑郁症
- c语言用while语句计算圆周率的近似值,编程计算圆周率的近似值
- android 通知图标大小,android – 通知栏显示大图标和小图标
- 【若依框架】集成JWT
- ode45matlab例子,ode45(ode45用法举例)
- 广东高中生多少人_广东2016高考五大变化 考生总人数73.3万
- EasyGBS主子码流都为H.265时,切换出现花屏如何解决?