Android(安卓)Activity加入半透明蒙板,实现夜间模式
if (mNightView == null) {
mNightView = new TextView(this);
mNightView.setBackgroundColor(Color.BLACK);
windowLayout.addView(mNightView);
}
try {
Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(
this, com.aurora.R.anim.aurora_menu_cover_enter);
mNightView.startAnimation(hyperspaceJumpAnimation);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void day() {
try {
Animation hyperspaceJumpAnimation = AnimationUtils.loadAnimation(
this, com.aurora.R.anim.aurora_menu_cover_exit);
mNightView.startAnimation(hyperspaceJumpAnimation);
} catch (Exception ex) {
ex.printStackTrace();
}
}
private View mNightView = null;
private WindowManager mWindowManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
mWindowManager = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
super.onCreate(savedInstanceState);
}
public void night() {
WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT,
WindowManager.LayoutParams.TYPE_APPLICATION,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
lp.gravity = Gravity.BOTTOM;// 可以自定义显示的位置
lp.y = 10;
if (mNightView == null) {
mNightView = new TextView(this);
mNightView.setBackgroundColor(0x80000000);
}
try{
mWindowManager.addView(mNightView, lp);
}catch(Exception ex){}
}
public void day(){
try{
mWindowManager.removeView(mNightView);
}catch(Exception ex){}
}
@Override
protected void onResume() {
if(CommonClass.IsNight){
night();
}else{
day();
}
super.onResume();
}
@Override
protected void onDestroy() {
super.onDestroy();
day();
}
<?xml version="1.0" encoding="utf-8"?>
android:duration="300"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toAlpha="0.4" />
<?xml version="1.0" encoding="utf-8"?>
android:duration="300"
android:fromAlpha="0.4"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toAlpha="0.0" />
更多相关文章
- android 网络图片查看器
- android 如何从sqlite读取数据到spinner下拉中显示
- android 计时器,倒计时
- 【Android】Toast显示乱码解决办法
- Android(安卓)通过经纬度获取地理位置信息
- android 实现可拖动的Button
- android ListView的分段显示、分页显示(附源码)
- android P虚拟按键点击位置加大的问题
- Android(安卓)BaseAdapter如何获得每一项并添加按钮事件