iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android开发中怎么实现一个沉浸式通知栏
  • 640
分享到

Android开发中怎么实现一个沉浸式通知栏

androidroi 2023-05-31 07:05:28 640人浏览 薄情痞子
摘要

Android开发中怎么实现一个沉浸式通知栏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。①DrawerLayout+Toolbar添加依赖库(谷歌提供)compile&nbs

Android开发中怎么实现一个沉浸式通知栏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

①DrawerLayout+Toolbar

添加依赖库(谷歌提供)

compile 'com.android.support:design:25.3.1'

布局代码1:使用 DrawerLayout做最外层,引入NavigationView侧边抽屉控件

<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="Http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/id_drawerlayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.tnnowu.android.demo17032801.MainActivity"> <include layout="@layout/content_layout" /> <android.support.design.widget.NavigationView android:id="@+id/id_navigationview" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="left" app:itemTextColor="@color/c_light_gray3" /></android.support.v4.widget.DrawerLayout>

布局代码2:里层嵌套Toolbar

<?xml version="1.0" encoding="utf-8"?><LinearLayout 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:orientation="vertical"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#30469b" android:paddingTop="@dimen/toolbar_padding_top" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <TextView  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_gravity="center"  android:text="ToolBar版"  android:textSize="20sp" /> </android.support.v7.widget.Toolbar> <!--内容显示布局--> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <Button  android:id="@+id/GoToActionBar"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_centerInParent="true"  android:text="切换到ActionBar版" /> </RelativeLayout></LinearLayout>

Style样式:无ActionBar

<style name="AppThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item></style>

主程序代码:除了要在onCreate()里面初始化 DrawerLayout、NavigationView、Toolbar控件 即initViews(),还要在onCreate()里面添加手机系统版本判断和相应的样式适配initImmersive()

private void initViews() { mDrawerLayout = (DrawerLayout) findViewById(R.id.id_drawerlayout); mNagigationView = (NavigationView) findViewById(R.id.id_navigationview); mNagigationView.inflateHeaderView(R.layout.header_nav); mNagigationView.inflateMenu(R.menu.menu_nav); mToolbar = (Toolbar) findViewById(R.id.toolbar); mBtn = (Button) findViewById(R.id.goToActionBar); mToolbar.setTitle(""); if (mToolbar != null) {  setSupportActionBar(mToolbar); } ActionBarDrawerToggle MactionBarDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, mToolbar, R.string.open, R.string.close); mActionBarDrawerToggle.syncState(); mDrawerLayout.setDrawerListener(mActionBarDrawerToggle); mBtn.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {  startActivity(new Intent(MainActivity.this, DemoActionBarActivity.class));  } }); }private void initImmersive() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {  WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();  localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags);  if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {  //将侧边栏顶部延伸至status bar  mDrawerLayout.setFitsSystemwindows(true);  //将主页面顶部延伸至status bar;虽默认为false,但经测试,DrawerLayout需显示设置  mDrawerLayout.setClipToPadding(false);  } } }

这样Drawlayout + Toolbar就实现了样式改变。

 ②ActionBar

布局代码

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/colorPrimary" android:fitsSystemWindows="true" android:orientation="vertical"> <!--内容显示布局--> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/c_light_white"> <Button  android:id="@+id/goBack"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_centerInParent="true"  android:text="返回到ToolBar版" /> </RelativeLayout></LinearLayout>

Style样式:有ActionBar

<style name="AppThemeActionBar" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item></style>

主程序代码:

public class DemoActionBarActivity extends AppCompatActivity { private Button mBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_actionbar); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {  WindowManager.LayoutParams localLayoutParams = getWindow().getAttributes();  localLayoutParams.flags = (WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags); } initView(); } private void initView() { mBtn = (Button) findViewById(R.id.goBack); mBtn.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {  finish();  } }); }}

看完上述内容,你们掌握Android开发中怎么实现一个沉浸式通知栏的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: Android开发中怎么实现一个沉浸式通知栏

本文链接: https://www.lsjlt.com/news/224336.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android开发中怎么实现一个沉浸式通知栏
    Android开发中怎么实现一个沉浸式通知栏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。①DrawerLayout+Toolbar添加依赖库(谷歌提供)compile&nbs...
    99+
    2023-05-31
    android roi
  • Android应用怎么实现一个沉浸式状态栏
    这期内容当中小编将会给大家带来有关Android应用怎么实现一个沉浸式状态栏,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。效果。导航栏问题在Android中,顶部导航栏目前常用的两种实现方式,一个是通过T...
    99+
    2023-05-31
    android roi
  • Android中怎么实现沉浸式状态栏
    这篇文章给大家介绍Android中怎么实现沉浸式状态栏,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在布局文件中第一个控件(一般是imageview或者textview)中添加两个属性。<!--沉浸式-->...
    99+
    2023-05-30
    android
  • android沉浸式状态栏怎么实现
    要实现Android沉浸式状态栏,可以按照以下步骤进行操作:1. 在styles.xml文件中定义一个没有ActionBar的主题,...
    99+
    2023-09-27
    android
  • Android 开发中怎么改变沉浸式状态栏的颜色
    这篇文章给大家介绍Android 开发中怎么改变沉浸式状态栏的颜色,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。这个是基于SystemBarTintManager更改的增加一个方法:用于更改MIUIV6系统上的状态栏字...
    99+
    2023-05-31
    android roi
  • 如何在Android应用中实现一个沉浸式状态栏效果
    这篇文章将为大家详细讲解有关如何在Android应用中实现一个沉浸式状态栏效果,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。实现方法如下: @TargetApi(Build.VERSION...
    99+
    2023-05-31
    android roi
  • Android沉浸式状态栏的实现流程是怎样的
    本篇内容主要讲解“Android沉浸式状态栏的实现流程是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android沉浸式状态栏的实现流程是怎样的”吧!Android—沉浸式状态栏我们的征...
    99+
    2023-06-25
  • 一个Activity中多个Fragment实现沉浸式状态栏的解决方法
    项目中遇到一个问题:一个Activity有多个Fragment,每个Fragment的沉浸式状态栏不一样,有的是红色,有的是黑色,有的是一张图片(图片的一部分在状态栏中显示),并且要要兼顾虚拟按键(常说的导航栏)遮盖住布局导致自己布局中的某...
    99+
    2023-05-31
    fragment 沉浸式 状态栏
  • Android开发中怎么实现一个底部菜单栏
    Android开发中怎么实现一个底部菜单栏?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在Android中实现菜单功能有多种方法。 Options Menu:用户按下men...
    99+
    2023-05-31
    android roi
  • Android应用中怎么实现通知栏闪动效果
    Android应用中怎么实现通知栏闪动效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。显示通知代码:private void showNotification(Context...
    99+
    2023-05-31
    android roi
  • 怎么在Android Studio中实现一个搜索栏
    这篇文章将为大家详细讲解有关怎么在Android Studio中实现一个搜索栏,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.引入布局如果在每一个Activity的布局中都编写一个搜索栏,...
    99+
    2023-06-14
  • Android开发中怎么实现一个MP3播放器
    这篇文章给大家介绍Android开发中怎么实现一个MP3播放器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在android中播放mp3非常简单,也是项目中经常使用的,比如说要做项目的背景音乐,应用中某些功能的提示音等...
    99+
    2023-05-31
    android roi
  • Android开发中怎么实现一个分享功能
    Android开发中怎么实现一个分享功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。实现代码如下所示;Intent email = new Intent(android....
    99+
    2023-05-31
    android roi
  • 怎么在Android中利用google实现一个消息通知功能
    怎么在Android中利用google实现一个消息通知功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 定义一个派生于WakefulBroadcastReceiver的类pu...
    99+
    2023-05-31
    android google roi
  • Android媒体通知栏多系统适配怎么实现
    今天小编给大家分享一下Android媒体通知栏多系统适配怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。需要考虑的问题...
    99+
    2023-07-05
  • 在Android 开发中使用Activity怎么实现一个隐式跳转功能
    在Android 开发中使用Activity怎么实现一个隐式跳转功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。创建第二个activity就是创建一个class,继承自And...
    99+
    2023-05-31
    activity android roi
  • Android开发中怎么实现一个手势密码功能
    本篇文章为大家展示了Android开发中怎么实现一个手势密码功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。如果使用GestureOverlayView,在xml配置文件中使用Android.ge...
    99+
    2023-05-31
    android roi
  • Android开发中怎么实现一个文字倒影效果
    这期内容当中小编将会给大家带来有关Android开发中怎么实现一个文字倒影效果,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。布局文件中增加如下代码<com.tc.reflect.ReflectTex...
    99+
    2023-05-31
    android roi
  • Android开发中怎么实现一个全文收起功能
    这期内容当中小编将会给大家带来有关Android开发中怎么实现一个全文收起功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。首先写一个布局,这个布局是每个子项的布局 item_text_list.xml&...
    99+
    2023-05-31
    android roi
  • Android开发中怎么实现一个图片上传功能
    本篇文章给大家分享的是有关Android开发中怎么实现一个图片上传功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。代码实现:private void showDialog()...
    99+
    2023-05-31
    android roi
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作