怎么在Android中實(shí)現(xiàn)切換主題?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
創(chuàng)新互聯(lián)建站長(zhǎng)期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為長(zhǎng)順企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站制作,長(zhǎng)順網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
創(chuàng)建ColorTheme類用于主題更換:
public class ColorTheme { AppCompatActivity ap; public ColorTheme(AppCompatActivity _ap){ap=_ap;} public void updateTheme(int _data){ String data=Integer.toString(_data); FileOutputStream out=null; BufferedWriter writer=null; try{ out=ap.openFileOutput("data",Context.MODE_PRIVATE); writer=new BufferedWriter(new OutputStreamWriter(out)); writer.write(data); }catch (IOException e){ e.printStackTrace(); }finally { try { if(writer!=null){ writer.close(); } }catch (IOException e){ e.printStackTrace(); } } } public void loadTheme(){ FileInputStream in=null; BufferedReader reader= null; StringBuilder content=new StringBuilder(); try{ in=ap.openFileInput("data"); reader=new BufferedReader(new InputStreamReader(in)); String line=""; while((line=reader.readLine())!=null){ content.append(line); } ap.setTheme(Integer.parseInt(content.toString())); }catch (IOException e){ e.printStackTrace(); }finally { if(reader!=null){ try{ reader.close(); }catch (IOException e){ e.printStackTrace(); } } } } }
在oncreate中調(diào)用:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final ColorTheme newTheme = new ColorTheme(this); newTheme.loadTheme(); setContentView(R.layout.activity_main);
重點(diǎn):
要現(xiàn)在res/value/style中設(shè)計(jì)主題的樣式:
這里是我設(shè)的的四種樣式:
- - - -
別忘了在color里定義的顏色:
#ffffffff #bfffffff #de4037 #de4037 #de4037 #de4037 #1e50a2 #fa7299 #008577
看完上述內(nèi)容,你們掌握怎么在Android中實(shí)現(xiàn)切換主題的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!