亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android開發(fā)常見問題總結(jié)

 更新時間:2016年08月16日 11:27:38   作者:llyofdream  
這篇文章主要介紹了Android開發(fā)常見問題,總結(jié)分析了諸如界面設(shè)計、多媒體調(diào)用、圖片、動畫操作等開發(fā)中常見的問題解決方法與相關(guān)注意事項,需要的朋友可以參考下

本文總結(jié)分析了Android開發(fā)常見問題。分享給大家供大家參考,具體如下:

1. 在ui中使用scrollview之后,假如復(fù)寫activity的onkeydown或onkeyup事件,若果焦點在scrollview上,則這兩個事件是不觸發(fā)的,對于ontouch事件也是一樣。解決題目的方法是

scrollview.setOnKeyListener();

2. mediaplay在使用時,添加的一些事件諸如setOnCompletionListener等,沒有起到作用,不執(zhí)行,原因是由于之前沒有設(shè)置數(shù)據(jù)源,解決方法,在setDataSource之后再設(shè)置事件響應(yīng)。

mediaplay在執(zhí)行prepare時,拋出IllegalStateException 異常,可能是由于沒有初始化的mediaplay導(dǎo)致,解決方法可以先執(zhí)行stop,然后再分析。

mediaplay在執(zhí)行release后,最好進(jìn)行置空操縱,如:

mediaplay = null

最好設(shè)置錯誤監(jiān)聽setOnErrorListener,當(dāng)發(fā)生錯誤時進(jìn)行reset重置。由于有些錯誤是避免不了的,如error(-38,0),error(1,-2147483648)

3. 假如在頁面加載完成后,想使某一個控件獲取默認(rèn)焦點,調(diào)用requestFocus()后,假如不起作用,可以添加一句setFocusableInTouchMode(true),可能是由于進(jìn)進(jìn)應(yīng)用時,不是通過鍵盤進(jìn)往的,所以視覺上體現(xiàn)不到;

4. leaked window異常,是由于activity在封閉時,可能有dialog沒有封閉導(dǎo)致。場景:在非主線程拋出異常,直接退出activity,導(dǎo)致dialog沒有封閉。解決方法:在onDestroy中封閉dialog;分析你的非主線程是否有更改ui的代碼存在,這個修改方法要具體分析。

5. ProgressDialog改變旋轉(zhuǎn)的那個圖片

ProgressDialog.setIndeterminateDrawable(Drawable drawable),drawable用XML文件寫,如下:

<?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 屬性,值越小,所占得比重越大,分為兩種情況:

舉例說明:

假如水平顯示,子元素的layout_width屬性值為fill_parent,則layout_weight屬性值越小,占得顯示比例越大,layout_width屬性值為wrap_content,則layout_weight屬性值越小,顯示比例越小。

7. 假如activity的啟動模式設(shè)置成singleTask或singleIntance,那么其onActivityResult將失往作用,除非再配置屬性

android:clearTaskOnLaunch="true"

8.android:fillAfter="true"不起作用

解決方法有:

①.通過java代碼設(shè)置:

leftAnim.setFillAfter(true);

②.配置xml,寫在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做動畫時留意點:

①.要在代碼中調(diào)用Imageview的setBackgroundResource方法,假如直接在XML布局文件中設(shè)置其src屬性當(dāng)觸發(fā)動畫時會FC。

②.在動畫start()之前要先stop(),不然在第一次動畫之后會停在最后一幀,這樣動畫就只會觸發(fā)一次。

③.最后一點是SDK中提到的,不要在onCreate中調(diào)用start,由于AnimationDrawable還沒有完全跟Window相關(guān)聯(lián),假如想要界面顯示時就開始動畫的話,可以在onWindowFoucsChanged()中調(diào)用start()。

9. 在通過MediaPlayer播放音樂時,網(wǎng)上都說假如在activity中播放,在activity退出時,音樂播放會停止,這個純粹是他媽的扯淡,我以前還對此堅信不疑。MediaPlayer播放音樂,會重新啟動一個service進(jìn)行播放,假如你的activity或service已經(jīng)destory了,是不影響播放service的生命周期的。

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android操作SQLite數(shù)據(jù)庫技巧總結(jié)》、《Android操作json格式數(shù)據(jù)技巧總結(jié)》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)

希望本文所述對大家Android程序設(shè)計有所幫助。

相關(guān)文章

最新評論