layout: post
title: Android開發(fā)中遇到的坑
date: 2015-05-26
categories: blog
tags: [Android,Bug]
category: Android
description: 收集在開發(fā)過程中折騰很久的問題,避免在一個坑里多次摔跤
Dialog Theme
一般App都含有至少兩套主題,因此需要在代碼中動態(tài)切換,
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(isLight?R.style.AppTheme.Light:R.style.AppTheme.dark);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
}
就好像上面的代碼,但是對于一個Activity Dailog貌似有了點(diǎn)問題
Dialog之外的部分是黑色..需求是要半透明啊,不管如何調(diào)整style的屬性都沒有用..
解決方案:先在mainifest中聲明一個主題(light or Dark都 ok)
<activity
android:theme="@style/AppTheme.Light"
android:name=".MainActivity2Activity"
android:label="@string/title_activity_main_activity2" />
然后運(yùn)行就會有半透明的效果了
Background和WindowBackground
windowbackground是用來設(shè)置Activity或者Dialog的背景顏色,而Background是設(shè)置視圖組件的背景,view的背景會覆蓋掉activity/dialog的背景.默認(rèn)View的背景是透明的,即顯示效果就是windowbackground
當(dāng)給Dialog設(shè)置一個圓角背景時,同時也需要修改自定義的Title部分的背景,導(dǎo)致title部分的背景覆蓋掉了圓角效果.
解決方案:為Title部分設(shè)置同樣的圓角背景
Crunching Cruncher ###.png failed, see logs
在Android Studio中編譯后始終出現(xiàn)該錯誤
Error:Execution failed for task ':app:mergeDebugResources'.
Crunching Cruncher ic_launcher.png failed, see logs
開始嘗試StackOverflow中講的Clean And Rebuild,Restart AS,都沒有效果,后來在AS中查看對應(yīng)的圖片,竟然提示
try to open it externally to fix format problem
所以導(dǎo)致這個問題的原因就是圖片的格式不對,也許你就僅僅把.jpg的后綴改為了.png,但是圖片的格式實(shí)際仍是.jpg