android 设置自定义主题及切换方案

  1. 定义属性
  2. 在不同样式中声明属性值
  3. 在布局中使用属性
  4. 再在代码中进行切换
    android 设置自定义主题及切换方案_第1张图片

1. 在attr.xml文件中定义属性颜色、字体大小等



    
    
    

2. 在style.xml中设置属性值



    

    



3. 在布局中使用





    

    

4.在MainActivity中切换

public class MainActivity extends AppCompatActivity {
    private int themeType;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        themeType = getSharedPreferences("theme", MODE_PRIVATE).getInt("themeType", 0);
        if (themeType == 0) {
            setTheme(R.style.AppTheme);
        } else {
            setTheme(R.style.AppTheme2);
        }
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void changeTheme(View view) {
        themeType = themeType == 0 ? 1 : 0;
        getSharedPreferences("theme", MODE_PRIVATE).edit().putInt("themeType", themeType).commit();
        recreate();
        //会丢失当前页面的状态,需要保持的数据做持久化保持
    }
}

你可能感兴趣的:(#,Android知识点)