沉浸式安卓应用设计简单又好用

转载 2015年11月20日 19:40:16

这个特性是andorid4.4支持的,最少要api19才可以使用。下面介绍一下使用的方法,非常得简单:

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        //透明状态栏
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        //透明导航栏
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
 
    }
 
 
}

 

 

?
1
2
3
4
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//透明导航栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

 

只要加入这两行代码,就可以实现沉浸式通知栏了。效果如图:

\

 

给大家看看这个界面的布局:

 

?
1
2
3
4
<linearlayout android:background="#ffffff" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" tools:context=".MainActivity" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
 
 
    <textview android:background="#009959" android:layout_height="100dp" android:layout_width="match_parent"><button android:background="#ff669d/" android:layout_height="50dp" android:layout_width="100dp"></button></textview></linearlayout>

是一个垂直的流布局,但这样,其实还是有问题的,我在textView里面加一些文字,就是绿色的那一块,大家看一下效果:

 

\

大家看到了吧,文字和状态栏重叠在一起了,这肯定是不行的,此时需要添加下面的代码:

 

 

?
1
2
android:fitsSystemWindows=true
android:clipToPadding=true

 

 

?
1
2
3
4
5
<linearlayout android:background="#ffffff" android:cliptopadding="true" android:fitssystemwindows="true" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" tools:context=".MainActivity" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
 
 
 
    <textview android:background="#009959" android:layout_height="100dp" android:layout_width="match_parent"><button android:background="#ff669d/" android:layout_height="50dp" android:layout_width="100dp"></button></textview></linearlayout>

大家看红色的那部分,加入那两行以后,界面仍然会是沉浸式的,但状态栏那部分,就不会再重叠了,像加了padding一样,如下图:

 

\

大家看图,绿色的textView和红色的一个button都被下移了,状态栏是白色的,是背景linearLayout的颜色。很明显,这也不是我们想要的,我们希望状态栏和我们放在顶部的控件是同一个颜色,同时,控件内容也不和状态栏重复,其实,只要把那两行代码放到我们顶部的控件就可以了。代码如下:

 

 

?
1
2
3
4
5
<linearlayout android:background="#ffffff" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" tools:context=".MainActivity" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">
 
 
 
    <textview android:background="#009959" android:cliptopadding="true" android:fitssystemwindows="true" android:layout_height="100dp" android:layout_width="match_parent" android:text="你好,请问你有男朋友吗/"><button android:background="#ff669d/" android:layout_height="50dp" android:layout_width="100dp"></button></textview></linearlayout>
就是那两行红色的代码,放在绿色的textView上,这样,就会是下面的效果:

 

这就是我们想要的了。

 

Android全屏沉浸式应用

原文出处:http://bbs.itheima.com/thread-298355-1-1.html?zztj3?rss一、概念首先让我们看一下默认状态栏的显示效果 以下以微信与qq为例:由于Andr...
  • axi295309066
  • axi295309066
  • 2016年09月26日 20:42
  • 1351

Android沉浸式状态栏设计(安卓4.4以上才能支持)

安卓在4.4以上开始支持沉浸式状态栏了,这个给用户带来了极佳的体验。那么可能有些人会问?什么是沉浸式状态栏? 什么是沉浸式状态栏? 沉浸式状态栏意思指状态栏的颜色随着软件颜色而改变,使状态栏和软件颜色...
  • jxnk25
  • jxnk25
  • 2015年07月29日 23:23
  • 2335

android沉浸式简单实现

沉浸式的布局就是一个EditText用来测试,点击后监听显示方法getWindow().getDecorView().setOnSystemUiVisibilityChangeListener(thi...
  • WuChuangON
  • WuChuangON
  • 2017年06月14日 11:03
  • 247

Android 沉浸式状态栏攻略 让你的状态栏变色吧

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/48649563; 本文出自:【张鸿洋的博客】 一、概述近期注意到QQ...
  • lmj623565791
  • lmj623565791
  • 2015年09月22日 09:21
  • 258843

android沉浸式标题栏

android沉浸式标题栏1:设置样式1 values - styles.xml:
  • sunshine_mood
  • sunshine_mood
  • 2015年12月12日 00:12
  • 1234

Android三种方法设置沉浸式状态栏

十多天没写博客了,很惭愧,因为最近做的东西与Android并没有什么关系,公司需要做微信端口的一个微信打印的功能,已经好久没接触java后台开发相关了,所以多花了点时间去看,最后因为暂时没有特定的打印...
  • hkq463
  • hkq463
  • 2016年08月19日 12:14
  • 961

Android开发类似苹果iOS 7的沉浸式状态栏

1、什么是沉浸式状态栏? 沉浸式状态栏是指Activity的ActionBar的颜色和状态栏的颜色一样,两者连接起来了,看起来就像是一个整体,跟苹果的ios7以后的样式一样。如下图所示: (沉浸...
  • Violet_yang
  • Violet_yang
  • 2015年11月23日 16:49
  • 2519

Android 沉浸式状态栏的实现方法、状态栏透明

原文:点击访问 现在越来越多的软件都开始使用沉浸式状态栏了,下面总结一下沉浸式状态栏的两种使用方法 注意!沉浸式状态栏只支持安卓4.4及以上的版本状态栏:4.4上是渐变色,5.0上是完全透明,...
  • fan7983377
  • fan7983377
  • 2016年06月07日 16:23
  • 42467

Android 沉浸式状态栏的三种实现方式

三种方式实现沉浸式状态栏 1、系统实现 2、加隐藏布局实现 3、第三方开源库实现...
  • wuyinlei
  • wuyinlei
  • 2016年01月22日 21:06
  • 24804

android:一行代码实现沉浸式布局效果

先看效果 效果一:效果二: 首先要引入statusbaruitl库 compile 'com.jaeger.statusbaruitl:library:1.1.1' 在Activity中一行代码实现:...
  • huangxiaoguo1
  • huangxiaoguo1
  • 2017年02月08日 16:25
  • 923
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:沉浸式安卓应用设计简单又好用
举报原因:
原因补充:

(最多只允许输入30个字)