Android開(kāi)發(fā)常見(jiàn)問(wèn)題總結(jié)
本文總結(jié)分析了Android開(kāi)發(fā)常見(jiàn)問(wèn)題。分享給大家供大家參考,具體如下:
1. 在ui中使用scrollview之后,假如復(fù)寫(xiě)activity的onkeydown或onkeyup事件,若果焦點(diǎn)在scrollview上,則這兩個(gè)事件是不觸發(fā)的,對(duì)于ontouch事件也是一樣。解決題目的方法是
scrollview.setOnKeyListener();
2. mediaplay在使用時(shí),添加的一些事件諸如setOnCompletionListener等,沒(méi)有起到作用,不執(zhí)行,原因是由于之前沒(méi)有設(shè)置數(shù)據(jù)源,解決方法,在setDataSource之后再設(shè)置事件響應(yīng)。
mediaplay在執(zhí)行prepare時(shí),拋出IllegalStateException 異常,可能是由于沒(méi)有初始化的mediaplay導(dǎo)致,解決方法可以先執(zhí)行stop,然后再分析。
mediaplay在執(zhí)行release后,最好進(jìn)行置空操縱,如:
mediaplay = null
最好設(shè)置錯(cuò)誤監(jiān)聽(tīng)setOnErrorListener,當(dāng)發(fā)生錯(cuò)誤時(shí)進(jìn)行reset重置。由于有些錯(cuò)誤是避免不了的,如error(-38,0),error(1,-2147483648)
3. 假如在頁(yè)面加載完成后,想使某一個(gè)控件獲取默認(rèn)焦點(diǎn),調(diào)用requestFocus()后,假如不起作用,可以添加一句setFocusableInTouchMode(true),可能是由于進(jìn)進(jìn)應(yīng)用時(shí),不是通過(guò)鍵盤(pán)進(jìn)往的,所以視覺(jué)上體現(xiàn)不到;
4. leaked window異常,是由于activity在封閉時(shí),可能有dialog沒(méi)有封閉導(dǎo)致。場(chǎng)景:在非主線(xiàn)程拋出異常,直接退出activity,導(dǎo)致dialog沒(méi)有封閉。解決方法:在onDestroy中封閉dialog;分析你的非主線(xiàn)程是否有更改ui的代碼存在,這個(gè)修改方法要具體分析。
5. ProgressDialog改變旋轉(zhuǎn)的那個(gè)圖片
ProgressDialog.setIndeterminateDrawable(Drawable drawable),drawable用XML文件寫(xiě),如下:
<?xml version="1.0" encoding="utf-8"?>
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/1" android:duration="100" />
<item android:drawable="@drawable/2" android:duration="100" />
<item android:drawable="@drawable/3" android:duration="100" />
<item android:drawable="@drawable/4" android:duration="100" />
<item android:drawable="@drawable/5" android:duration="100" />
<item android:drawable="@drawable/6" android:duration="100" />
<item android:drawable="@drawable/7" android:duration="100" />
<item android:drawable="@drawable/8" android:duration="100" />
</animation-list>
6. linearlayout weight
子元素的layout_weight 屬性,值越小,所占得比重越大,分為兩種情況:
舉例說(shuō)明:
假如水平顯示,子元素的layout_width屬性值為fill_parent,則layout_weight屬性值越小,占得顯示比例越大,layout_width屬性值為wrap_content,則layout_weight屬性值越小,顯示比例越小。
7. 假如activity的啟動(dòng)模式設(shè)置成singleTask或singleIntance,那么其onActivityResult將失往作用,除非再配置屬性
android:clearTaskOnLaunch="true"
8.android:fillAfter="true"不起作用
解決方法有:
①.通過(guò)java代碼設(shè)置:
leftAnim.setFillAfter(true);
②.配置xml,寫(xiě)在set標(biāo)簽中,如:
<set android:fillAfter="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:interpolator=
"@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="0.0"
android:toXScale="0.0"
android:fromYScale="1.0"
android:toYScale="1.0"
android:pivotX="100%"
android:pivotY="100%"
android:duration="10" />
</set>
android做動(dòng)畫(huà)時(shí)留意點(diǎn):
①.要在代碼中調(diào)用Imageview的setBackgroundResource方法,假如直接在XML布局文件中設(shè)置其src屬性當(dāng)觸發(fā)動(dòng)畫(huà)時(shí)會(huì)FC。
②.在動(dòng)畫(huà)start()之前要先stop(),不然在第一次動(dòng)畫(huà)之后會(huì)停在最后一幀,這樣動(dòng)畫(huà)就只會(huì)觸發(fā)一次。
③.最后一點(diǎn)是SDK中提到的,不要在onCreate中調(diào)用start,由于AnimationDrawable還沒(méi)有完全跟Window相關(guān)聯(lián),假如想要界面顯示時(shí)就開(kāi)始動(dòng)畫(huà)的話(huà),可以在onWindowFoucsChanged()中調(diào)用start()。
9. 在通過(guò)MediaPlayer播放音樂(lè)時(shí),網(wǎng)上都說(shuō)假如在activity中播放,在activity退出時(shí),音樂(lè)播放會(huì)停止,這個(gè)純粹是他媽的扯淡,我以前還對(duì)此堅(jiān)信不疑。MediaPlayer播放音樂(lè),會(huì)重新啟動(dòng)一個(gè)service進(jìn)行播放,假如你的activity或service已經(jīng)destory了,是不影響播放service的生命周期的。
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android操作SQLite數(shù)據(jù)庫(kù)技巧總結(jié)》、《Android操作json格式數(shù)據(jù)技巧總結(jié)》、《Android數(shù)據(jù)庫(kù)操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android編程開(kāi)發(fā)之SD卡操作方法匯總》、《Android開(kāi)發(fā)入門(mén)與進(jìn)階教程》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android開(kāi)發(fā)框架之自定義ZXing二維碼掃描界面并解決取景框拉伸問(wèn)題
- Android開(kāi)發(fā)中遇到端口號(hào)占用問(wèn)題解決方法
- Fedora14下android開(kāi)發(fā): eclipse與ibus確有沖突的問(wèn)題分析
- Android開(kāi)發(fā)筆記之:深入理解Cursor相關(guān)的性能問(wèn)題
- Android開(kāi)發(fā)筆記之:ListView刷新順序的問(wèn)題詳解
- 在android開(kāi)發(fā)中盡量不要使用中文路徑的問(wèn)題詳解
- android開(kāi)發(fā)環(huán)境遇到adt無(wú)法啟動(dòng)的問(wèn)題分析及解決方法
- Android程序啟動(dòng)時(shí)出現(xiàn)黑屏問(wèn)題的解決方法
- Android中fragment嵌套fragment問(wèn)題解決方法
- Android Studio的中文亂碼問(wèn)題解決方法
- Android拍照保存在系統(tǒng)相冊(cè)不顯示的問(wèn)題解決方法
- Android動(dòng)態(tài)添加View的問(wèn)題解決方法
- Android 異步獲取網(wǎng)絡(luò)圖片并處理導(dǎo)致內(nèi)存溢出問(wèn)題解決方法
相關(guān)文章
AndroidStudio4.0 New Class的坑(小結(jié))
這篇文章主要介紹了AndroidStudio4.0 New Class的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Android通過(guò)aapt命令獲取apk詳細(xì)信息(包括:文件包名,版本號(hào),SDK等信息)
本文給大家分享android通過(guò)aapt命令獲取apk詳細(xì)信息(包括:文件包名,版本號(hào),SDK等信息),非常不錯(cuò),簡(jiǎn)單實(shí)用,對(duì)android sdk aapt知識(shí)感興趣的朋友一起通過(guò)本文學(xué)習(xí)吧2016-11-11
Android把商品添加到購(gòu)物車(chē)的動(dòng)畫(huà)效果(貝塞爾曲線(xiàn))
本篇文章介紹了Android把商品添加到購(gòu)物車(chē)的動(dòng)畫(huà)效果,這個(gè)在很多項(xiàng)目中都用的到,具有一定的參考價(jià)值,有需要的可以了解一下。2016-10-10
Android自動(dòng)獲取輸入短信驗(yàn)證碼庫(kù)AutoVerifyCode詳解
這篇文章主要為大家詳細(xì)介紹了Android自動(dòng)獲取輸入短信驗(yàn)證碼庫(kù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
Android實(shí)現(xiàn)屏幕截圖并保存截圖到指定文件
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)屏幕截圖并保存截取圖片到指定文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
Android應(yīng)用開(kāi)發(fā)中View繪制的一些優(yōu)化點(diǎn)解析
這篇文章主要介紹了Android應(yīng)用開(kāi)發(fā)中View繪制的一些優(yōu)化點(diǎn)解析,包括Layout布局和硬件加速等方面,需要的朋友可以參考下2016-03-03
Android 自定義驗(yàn)證碼輸入框的實(shí)例代碼(支持粘貼連續(xù)性)
這篇文章主要介紹了Android 自定義驗(yàn)證碼輸入框的實(shí)例代碼(支持粘貼連續(xù)性),代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10

