用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - android代码库

实现简单的夜间模式

2017-03-02 作者: xjh举报

[android]代码库

、、、、、、、、、、、、values-night


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#ff333333</color>
    <color name="colorPrimaryDark">#ff222222</color>
    <color name="colorAccent">#ff80bd01</color>
    <color name="act_background_black_white">#ff000000</color>
    <color name="text_black_white">#ffffff</color>
</resources>





//////main
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:background="@color/act_background_black_white"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical"

    tools:showin="@layout/activity_main"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <Button
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:onClick="modeDay"
        android:text="白昼模式"
        android:textColor="@color/text_black_white">

    </Button>
    <Button
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:onClick="modeNight"
        android:text="夜间模式"
        android:textColor="@color/text_black_white">

    </Button>
</LinearLayout>



///////////////////////////////baseAdapter




public class BaseActivity extends AppCompatActivity {
    private static boolean enableNightMode = false;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if(!enableNightMode) {
            AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
        } else {
            AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
        }
    }

    /**
     *If enabled night mode
     * @return  true or false
     */
    public boolean isEnableNightMode() {
        return enableNightMode;
    }
    /**
     * enable night mode or not
     * @param enableNightMode   true or false
     */
    public void setEnableNightMode(boolean enableNightMode) {
        this.enableNightMode = enableNightMode;
        if(enableNightMode) {
            getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
        } else {
            getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
        }
        recreate();
    }
}




//////////////////////////////mian





public class MainActivity extends BaseActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

//        setSupportActionBar(toolbar);
    }

    public void modeDay(View v) {
        setEnableNightMode(false);
    }

    public void modeNight(View v) {
        setEnableNightMode(true);
    }


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...