欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android videoview搶占焦點的處理方法

 更新時間:2017年06月16日 11:27:00   作者:Symon_sun  
這篇文章主要為大家詳細介紹了Android videoview搶占焦點的處理方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

問題描述:

android 機頂盒應(yīng)用:
應(yīng)用程序主界面(MainActivity)只有兩個控件,一個videoview和一個button。
視頻框設(shè)置無焦點,按鍵有焦點。

首次進入應(yīng)用時焦點正常,聚焦在button上;但是當點擊button跳轉(zhuǎn)到下一個activity并返回時,焦點卻聚焦到了videoview上,并且代碼里強制設(shè)置焦點:

Button.requestFocus();

無效,現(xiàn)象是視頻加載時,焦點是在button處,但是當視頻加載完成開始播放時,整個activity失去焦點,幾秒后,焦點跑到videoview上面。 

原因分析:

查看了一下VideoView的源碼,發(fā)現(xiàn)原因出在初始化上面上:

 private void initVideoView() {
   mVideoWidth = 0;
   mVideoHeight = 0;

   getHolder().addCallback(mSHCallback);
   getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

   setFocusable(true);//問題出在這里
   setFocusableInTouchMode(true);
   requestFocus();

   mPendingSubtitleTracks = new Vector<Pair<InputStream, MediaFormat>>();

   mCurrentState = STATE_IDLE;
   mTargetState = STATE_IDLE;
 }

看到這里就豁然開朗了,這就解釋了為什么xml中設(shè)置了android:focusable="false"而videoview仍然能獲取焦點的問題,也解釋了為什么button會獲得焦點而當視頻加載好后被videoview搶占的問題。

解決方法:

明白了問題所在就好解決了,因為只是解決焦點問題,所以無需自定義videoview那么麻煩,只需要重寫onResume()方法即可:

@Override
  protected void onResume() {
    super.onResume();
    videoView.setFocusable(false);
  } 

總結(jié):

一定要多看源碼!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android 判斷是否是是全漢字、全字母、全數(shù)字、數(shù)字和字母等(代碼)

    Android 判斷是否是是全漢字、全字母、全數(shù)字、數(shù)字和字母等(代碼)

    這篇文章主要介紹了Android 判斷是否是是全漢字、全字母、全數(shù)字、數(shù)字和字母等的實例代碼,需要的朋友可以參考下
    2016-12-12
  • Android實現(xiàn)歌詞滾動效果

    Android實現(xiàn)歌詞滾動效果

    這篇文章主要為大家詳細介紹了Android實現(xiàn)歌詞滾動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Flutter 假異步的實現(xiàn)示例

    Flutter 假異步的實現(xiàn)示例

    這篇文章主要介紹了Flutter 假異步的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Android實現(xiàn)一個簡單的單詞本

    Android實現(xiàn)一個簡單的單詞本

    大家好,本篇文章主要講的是Android實現(xiàn)一個簡單的單詞本,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Android處理時間各種方法匯總

    Android處理時間各種方法匯總

    這篇文章主要匯總了Android處理時間的各種方法,如何獲取當前時間,日期之間的比較,如何計算兩段日期的重合日期等,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Android View如何繪制

    Android View如何繪制

    要了解View如何繪制,就需要了解canvas(畫布)是什么?paint(畫筆)能夠做什么,想要深入了解的朋友可以參考一下
    2016-05-05
  • 詳解用RxJava實現(xiàn)事件總線(Event Bus)

    詳解用RxJava實現(xiàn)事件總線(Event Bus)

    本篇文章主要介紹了用RxJava實現(xiàn)事件總線(Event Bus),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 分析Android Activity的啟動過程

    分析Android Activity的啟動過程

    這篇文章主要介紹了分析Android Activity的啟動過程的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Android?十六進制狀態(tài)管理實例詳解

    Android?十六進制狀態(tài)管理實例詳解

    這篇文章主要為大家介紹了Android?十六進制狀態(tài)管理實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Android彈窗ListPopupWindow的簡單應(yīng)用詳解

    Android彈窗ListPopupWindow的簡單應(yīng)用詳解

    這篇文章主要為大家詳細介紹了Android彈窗ListPopupWindow的簡單應(yīng)用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論