android夜间模式切换

宁可枝头抱香死,何曾吹落北风中。这篇文章主要讲述android夜间模式切换相关的知识,希望能为你提供帮助。
1.记录个最简单的夜间模式的实现

android夜间模式切换

文章图片
android夜间模式切换

文章图片

2.styles.xml
< style name="DayTheme" parent="AppTheme"> < item name="color_title"> @color/title_bai< /item> < item name="color_background"> @drawable/bg01< /item> < /style> < style name="NightTheme" parent="AppTheme"> < item name="color_title"> @color/title_ye< /item> < item name="color_background"> @drawable/bg02< /item> < /style> < style name="FragmentTheme1" parent="AppTheme"> < item name="fragmentcolor_title"> @color/fragment_textcolor1< /item> < /style>

【android夜间模式切换】3.colors.xml
< color name="title_bai"> #000000< /color> < color name="title_ye"> #ffffff< /color> < color name="background_bai"> #ffffff< /color> < color name="background_ye"> #8e7d7d< /color> < color name="fragment_textcolor1"> #D43333< /color> < color name="fragment_textcolor2"> #71C41F< /color>

4.arrts.xml
< ?xml version="1.0" encoding="utf-8"?> < resources> < attr name="color_title" format="color" /> < attr name="color_background" format="color" /> < attr name="fragmentcolor_title" format="color" /> < /resources>


5.main.xml
< ?xml version="1.0" encoding="utf-8"?> < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="?attr/color_background" tools:context="com.example.guoxw.myapplication.MainActivity" android:weightSum="1"> < LinearLayout android:layout_width="match_parent" android:layout_height="40dp" android:orientation="horizontal"> < Button android:id="@+id/btn1" android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent" android:textColor="?attr/color_title" android:text="fragment1"/> < Button android:id="@+id/btn2" android:layout_width="0dp" android:layout_weight="1" android:textColor="?attr/color_title" android:layout_height="match_parent" android:text="fragment2"/> < Button android:id="@+id/btn3" android:layout_width="0dp" android:textColor="?attr/color_title" android:layout_weight="1" android:layout_height="match_parent" android:text="activity2"/> < Button android:id="@+id/btn4" android:layout_width="0dp" android:textColor="?attr/color_title" android:layout_weight="1" android:layout_height="match_parent" android:text="切换"/> < /LinearLayout> < FrameLayout android:id="@+id/fragmentlayout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginBottom="?actionBarSize" android:layout_marginTop="?actionBarSize" />   < /LinearLayout>

6.java-activity
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Constant.isDay) { this.setTheme(R.style.DayTheme); } else { this.setTheme(R.style.NightTheme); } setContentView(R.layout.activity_main);
}

7.java --fragment
 
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {Context ctxWithTheme = new ContextThemeWrapper(getActivity().getApplicationContext(),R.style.FragmentTheme1); LayoutInflater localLayoutInflater = inflater.cloneInContext(ctxWithTheme); ViewGroup rootView = (ViewGroup)localLayoutInflater.inflate(R.layout.fragment_fragment1, null, false); //view=inflater.inflate(R.layout.fragment_fragment1, container, false); return rootView; }

8.链接:
http://pan.baidu.com/s/1eSiU42Q

 

    推荐阅读