源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

android基础教程之夜间模式实现示例

  • 时间:2022-10-09 11:31 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:android基础教程之夜间模式实现示例
[u]复制代码[/u] 代码如下:
package org.david.dayandnightdemo.cor; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.graphics.Color; import android.graphics.PixelFormat; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.view.WindowManager; import android.view.WindowManager.LayoutParams; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener {     private WindowManager mWindowManager;     private View myView;     private Button btn_dayAndnight;     private SharedPreferences skinSp;     private final static String DAY = "day";     private final static String NIGHT = "night";     private int flage = 0;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);         setContentView(R.layout.activity_main);         init();     }     private void init() {         skinSp = this.getSharedPreferences("skinchange", Context.MODE_PRIVATE);         btn_dayAndnight = (Button) findViewById(R.id.btn_dayAndnight);         btn_dayAndnight.setOnClickListener(this);         String mode = skinSp.getString("skin", "");         if(mode!=null||!mode.equals("")){             if(mode.equals(NIGHT)){                 night();             }else{                 day();             }         }     }     @Override     public void onClick(View v) {         if(flage%2==0){             night();             btn_dayAndnight.setText("白天模式");             btn_dayAndnight.setTextColor(Color.WHITE);             flage++;         }else{             day();             btn_dayAndnight.setText("夜间模式");             btn_dayAndnight.setTextColor(Color.BLACK);             flage++;         }     }     public void night() {         WindowManager.LayoutParams params = new WindowManager.LayoutParams(                 LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT,                 LayoutParams.TYPE_APPLICATION,                 WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE                         | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,                 PixelFormat.TRANSLUCENT);         params.gravity=Gravity.BOTTOM;         params.y=10;         if(myView==null){             myView=new TextView(this);             myView.setBackgroundColor(0x80000000);         }         mWindowManager.addView(myView, params);         Editor edit = skinSp.edit();         edit.putString("skin", NIGHT);         edit.commit();     }     public void day(){         if(myView!=null){             mWindowManager.removeView(myView);             Editor edit = skinSp.edit();             edit.putString("skin", DAY);             edit.commit();         }     }         public void removeSkin(){         if(myView!=null){             mWindowManager.removeView(myView);         }     }     @Override     protected void onDestroy() {         super.onDestroy();         String mode = skinSp.getString("skin", "");         if(mode.equals(NIGHT)){             removeSkin();                    }     } }
布局文件
[u]复制代码[/u] 代码如下:
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"     android:paddingLeft="@dimen/activity_horizontal_margin"     android:paddingRight="@dimen/activity_horizontal_margin"     android:paddingTop="@dimen/activity_vertical_margin"     tools:context=".MainActivity" >     <Button         android:id="@+id/btn_dayAndnight"         android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="@string/btn_changeskin" /> </RelativeLayout>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部