改变状态栏的颜色
来源:互联网 发布:手机短信验证码软件 编辑:程序博客网 时间:2024/05/02 18:36
先看效果图:
package com.example.administrator.myapplication;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.ViewGroup;import android.view.Window;import android.view.WindowManager;import android.widget.LinearLayout;import android.widget.TextView;import java.lang.reflect.Field;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //这个方法只有在安卓4.4以上才能起作用! if (android.os.Build.VERSION.SDK_INT > 18) { Window window = getWindow(); window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); // 创建TextView TextView textView = new TextView(this); LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(WindowManager.LayoutParams.MATCH_PARENT, getStatusBarHeight()); textView.setBackgroundColor(Color.parseColor("#3F9FE0")); textView.setLayoutParams(lParams); // 获得根视图并把TextView加进去。 ViewGroup view = (ViewGroup) getWindow().getDecorView(); view.addView(textView); } } // 获取手机状态栏高度 public int getStatusBarHeight() { Class<?> c = null; Object obj = null; Field field = null; int x = 0, statusBarHeight = 0; try { c = Class.forName("com.android.internal.R$dimen"); obj = c.newInstance(); field = c.getField("status_bar_height"); x = Integer.parseInt(field.get(obj).toString()); statusBarHeight = getResources().getDimensionPixelSize(x); } catch (Exception e1) { } return statusBarHeight; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); }}剩下的就是布局很简单就实现了,像推酷的那种效果!
0 0
- 改变状态栏的颜色
- 改变状态栏的颜色
- 改变状态栏的颜色
- 改变状态栏文字的颜色
- 如何改变状态栏的颜色
- android 状态栏颜色的改变
- [Android]改变状态栏的颜色
- 改变Android状态栏的颜色
- 改变状态栏statusbar的颜色
- ios7状态栏字体颜色的改变
- iOS改变状态栏的字体颜色
- iOS 改变状态栏的颜色(样式)
- Android 改变顶部状态栏的颜色
- 改变手机状态栏(statusBar)的颜色
- Android开发改变状态栏的颜色
- iOS 改变状态栏的字体颜色
- 改变状态栏(StatusBar)的颜色
- ToolBar的封装、动态改变状态栏颜色
- layout_gravity 和 gravity以及对应值的详解
- JS中函数声明与函数表达式的不同
- C++中的构造函数/析构函数,虚函数/纯虚函数
- 隐式 参数
- 2015年第五周项目一:体验常成员函数
- 改变状态栏的颜色
- Service
- mac brew install
- 2015-4-7 中度贫血 食记
- 乐观锁的作用
- Java习惯用法总结
- IMEI和IMSI的区别
- (宏代码)Execl 中 比较两个Sheet内容是否一致
- leetcode172:Factorial Trailing Zeroes