<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                > 編寫:[awong1900](https://github.com/awong1900) - 原文:[http://developer.android.com/training/tv/discovery/in-app-search.html](http://developer.android.com/training/tv/discovery/in-app-search.html) 當用TV用媒體應用時,用戶腦中通常有特定的內容。如果你的應用包含一個大的內容目錄,為用戶找到他們想找到的內容時,用特定的標題瀏覽可能不是最有效的方式為。一個搜索界面能幫助你的用戶獲得他們想快速瀏覽的內容。 [Leanback support library](http://developer.android.com/tools/support-library/features.html#v17-leanback)提供一套類庫去使用標準的搜索界面。在你的應用內使用類庫,可以和TV其他搜索功能,如聲音輸入,獲得一致性。 這節課討論如何在你的應用中用Leanback支持類庫提供搜索界面。 ### 添加搜索操作 當你用[BroweseFragment](http://developer.android.com/reference/android/support/v17/leanback/app/BrowseFragment.html)類做一個媒體瀏覽界面時,你能使用搜索界面作為用戶界面的一個標準部分。當你設置[View.OnClickListener](http://developer.android.com/reference/android/view/View.OnClickListener.html)在[BrowseFragment](http://developer.android.com/reference/android/support/v17/leanback/app/BrowseFragment.html)對象時,搜索界面作為一個圖標出現在布局中。接下來的示例代碼展示了這個技術。 ~~~ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.browse_activity); mBrowseFragment = (BrowseFragment) getFragmentManager().findFragmentById(R.id.browse_fragment); ... mBrowseFragment.setOnSearchClickedListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(BrowseActivity.this, SearchActivity.class); startActivity(intent); } }); mBrowseFragment.setAdapter(buildAdapter()); } ~~~ **Note**: You can set the color of the search icon using the setSearchAffordanceColor(int).-->> **Note**:你能設置搜索圖標的顏色用[setSearchAffordanceColor(int)](http://developer.android.com/reference/android/support/v17/leanback/app/BrowseFragment.html#setSearchAffordanceColor(int))。 ### 添加搜索輸入和結果展示 當用戶選擇搜索圖標,系統通過定義的intent關聯一個搜索[activity](# "An activity represents a single screen with a user interface.")。你的搜索[activity](# "An activity represents a single screen with a user interface.")應該用包括[SearchFragment](http://developer.android.com/reference/android/support/v17/leanback/app/SearchFragment.html)的線性布局。這個fragment必須實現[SearchFragment.SearchResultProvider](http://developer.android.com/reference/android/support/v17/leanback/app/SearchFragment.SearchResultProvider.html)界面去顯示搜索結果。 接下來的示例代碼展示了如何擴展[SearchFragment](http://developer.android.com/reference/android/support/v17/leanback/app/SearchFragment.html)類去提供搜索界面和結果: ~~~ public class MySearchFragment extends SearchFragment implements SearchFragment.SearchResultProvider { private static final int SEARCH_DELAY_MS = 300; private ArrayObjectAdapter mRowsAdapter; private Handler mHandler = new Handler(); private SearchRunnable mDelayedLoad; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mRowsAdapter = new ArrayObjectAdapter(new ListRowPresenter()); setSearchResultProvider(this); setOnItemClickedListener(getDefaultItemClickedListener()); mDelayedLoad = new SearchRunnable(); } @Override public ObjectAdapter getResultsAdapter() { return mRowsAdapter; } @Override public boolean onQueryTextChange(String newQuery) { mRowsAdapter.clear(); if (!TextUtils.isEmpty(newQuery)) { mDelayedLoad.setSearchQuery(newQuery); mHandler.removeCallbacks(mDelayedLoad); mHandler.postDelayed(mDelayedLoad, SEARCH_DELAY_MS); } return true; } @Override public boolean onQueryTextSubmit(String query) { mRowsAdapter.clear(); if (!TextUtils.isEmpty(query)) { mDelayedLoad.setSearchQuery(query); mHandler.removeCallbacks(mDelayedLoad); mHandler.postDelayed(mDelayedLoad, SEARCH_DELAY_MS); } return true; } } ~~~ 上面的示例代碼展示了在分開的線程用獨立的`SearchRunnable`類去運行搜索請求。這個技巧是從阻塞的主線程保持了潛在的慢運行請求。 [下一節: 創建TV游戲](#)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看