现在时间是2016年1月5号凌晨1:11,呃,光棍时间~
今天主要磨蹭了一下透明石状态栏,虽然效果实现了,但还是不完美,如图
虽然实现了状态栏的 透明,但是RaidoButton下面那一大段空白看着特别的别扭,群里问了一溜遍,也没有答案...只好想别的办法来弥补了,我想着下面加一个状态栏,类似于这样
也许会显得好一些
于是重新写布局,在写布局的时候,顺手运行了一下,发现竟然特么的成了
原来实现透明状态栏的代码是从网上找来的,结果其中有一条属性并不适用我这个场景,唉...理解不透彻....
透明状态栏的实现:
Mainactivity.java
package cn.lixyz.tuji; import android.annotation.SuppressLint; import android.app.Activity; import android.graphics.Color; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; import android.os.Bundle; import android.view.View; import android.view.Window; import android.view.WindowManager; @SuppressLint("NewApi") public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); if (VERSION.SDK_INT >= VERSION_CODES.LOLLIPOP) { Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.TRANSPARENT); } setContentView(R.layout.activity_main); } }
该特性是在android4.4之后加入的,如果 Activity 有 actionbar,那么还需要在 Activity 的布局文件的根节点上设置属性
android:clipToPadding="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" tools:context="cn.lixyz.tuji.MainActivity" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/test" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="11" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="22" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="33" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="44" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="55" /> </LinearLayout> </LinearLayout>
效果:
可以看到,有一部分内容被遮挡了
设置android:fitsSystemWindows="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" tools:context="cn.lixyz.tuji.MainActivity" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/test" android:fitsSystemWindows="true" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="11" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="22" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="33" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="44" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="55" /> </LinearLayout> </LinearLayout>
运行结果:
时间: 2024-10-09 21:29:00