[Android Studio] -- Day 2 主题变换Theme01

前言

刚好读到layout的部分,来做之前都没试过的APP色系转换。


正文

这次利用spinner来切换layout

layout画面

http://img2.58codes.com/2024/20134772LvR0i4bR4P.pnghttp://img2.58codes.com/2024/20134772dnAxOsjkCI.png

code

onCreate
    Spinner spinner;    String[] color = {"null","origin","dark"};    //null是用来判断Toast的,可以删除    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        spinner=findViewById(R.id.spinner);        ArrayAdapter<String> colorList = new ArrayAdapter<>(MainActivity.this,                android.R.layout.simple_spinner_dropdown_item,                color);        spinner.setAdapter(colorList);        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {            @Override            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {                Toast.makeText(MainActivity.this, "您选择了:" + color[position], Toast.LENGTH_SHORT).show();                if(color[position]=="dark"){                    layout2();                }                if(color[position]=="origin"){                    layout1();                }            }            @Override            public void onNothingSelected(AdapterView<?> parent) {}        });    }
layout1
跟上面是一样的,layout切换时要重启spinner的功能
private void layout1() {        setContentView(R.layout.activity_main); //换layout                spinner=findViewById(R.id.spinner);        ArrayAdapter<String> colorList = new ArrayAdapter<>(MainActivity.this,                android.R.layout.simple_spinner_dropdown_item,                color);        spinner.setAdapter(colorList);        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {            @Override            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {                Toast.makeText(MainActivity.this, "您选择了:" + color[position], Toast.LENGTH_SHORT).show();                if(color[position]=="dark"){                    layout2();                }                if(color[position]=="origin"){                    layout1();                }            }            @Override            public void onNothingSelected(AdapterView<?> parent) {}        });    }
layout2
同layout1,只是要记得换成layout2的名称
    setContentView(R.layout.activity_main2);    spinner=findViewById(R.id.spinner2);

结语

存档很重要QAQ。
存档很重要QAQ。
存档很重要QAQ。
这次走的是阳春版的,layout写死的。有机会可以试试看在.java里面直接修正color.xml的资讯。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章