真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何?在Activity中添加ToolBar控件

今天就跟大家聊聊有關(guān)如何在Activity中添加ToolBar控件,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)建站專(zhuān)注于企業(yè)成都全網(wǎng)營(yíng)銷(xiāo)、網(wǎng)站重做改版、衡山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為衡山等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

在Activity中添加ToolBar

1.添加庫(kù)

dependencies {
  ...
  compile "com.android.support:appcompat-v7:18.0.+"
}

2.Activity要繼承AppCompatActivity

3.設(shè)置主題

使用ToolBar,要將系統(tǒng)默認(rèn)的ActionBar隱藏掉

4.在XML添加ToolBar布局

Material Design specification 建議設(shè)置 elevation 為 4dp

Toolbar放在Activity的頂部(等于廢話)

5.設(shè)置ToolBar

在Activity的onCreate()方法中,調(diào)用setSupportActionBar()方法,把我們的ToolBar對(duì)象傳遞進(jìn)去,將我們xml中添加的ToolBar設(shè)置為我們這個(gè)Activity頁(yè)面的App Bar。

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_my);
  Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
  setSupportActionBar(myToolbar);
  }

現(xiàn)在,我們的頁(yè)面中,應(yīng)該就會(huì)有一個(gè)App Bar了,默認(rèn)情況下,這個(gè)App Bar只會(huì)顯示一個(gè)App的名字和一個(gè)帶有下拉選項(xiàng)的按鈕,也可以在App Bar上添加更多的選項(xiàng)按鈕

添加并處理一個(gè)Action

ToolBar允許在上面添加操作按鈕,但是因?yàn)門(mén)oolBar上空間是有限的,如果一個(gè)程序有太多的Action,那么可以將Action添加到下拉菜單中,而不顯示在ToolBar上

如何?在Activity中添加ToolBar控件

添加一個(gè)Action按鈕

可以在XML文件中定義所有我們想添加的操作按鈕和下拉列表中的行為,如果想要添加Action,可以在 res/目錄下創(chuàng)建一個(gè)新的XML文件,添加元素。例如這樣



  
  

  
  

App:showAsAction屬性是用來(lái)設(shè)置Action顯示在哪,如果我們?cè)O(shè)置 app:showAsAction =”ifRoom”(示例中最常用的一種方式) ,這個(gè)Action將顯示在ToolBar上,如果ToolBar上沒(méi)有足夠的控件,則顯示在下拉菜單中。如果在程序中設(shè)置為 app:showAsAction=”never”,那么這個(gè)Action將永遠(yuǎn)顯示在下拉列表中,而不會(huì)顯示在ToolBar上。
響應(yīng)操作(回調(diào))

當(dāng)用戶(hù)選擇了一個(gè)Action后,系統(tǒng)會(huì)回調(diào) onOptionsItemSelected() 方法并傳遞 MenuItem 對(duì)象,在 onOptionsItemSelected() 的實(shí)現(xiàn)中,調(diào)用 MenuItem.getItemId() 方法來(lái)確定按下了哪個(gè)項(xiàng)目。返回的 ID 與您在相應(yīng)的 元素 Android: id 屬性中聲明的值匹配。

例如下面

@Override
public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
    case R.id.action_settings:
      // User chose the "Settings" item, show the app settings UI...
      return true;

    case R.id.action_favorite:
      // User chose the "Favorite" action, mark the current item
      // as a favorite...
      return true;

    default:
      // If we got here, the user's action was not recognized.
      // Invoke the superclass to handle it.
      return super.onOptionsItemSelected(item);

  }
}

添加一個(gè)回到主界面的按鈕

應(yīng)用為了使用戶(hù)可以方便的回到主界面,ToolBar可以添加一個(gè)按鈕,直接返回到指定的主界面。

如何?在Activity中添加ToolBar控件

聲明主界面(父界面)

需要在清單文件中通過(guò)設(shè)置 android: parentActivityName 屬性聲明,如果要支持舊版本的Android設(shè)備,需要定義 ,類(lèi)似這樣:


  ...

  

  
    ...
  

  
  

    
    
  

使用返回按鈕

若要使用返回的按鈕,需要調(diào)用setDisplayHomeAsUpEnabled()方法,類(lèi)似這樣:

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_my_child);

  // my_child_toolbar is defined in the layout file
  Toolbar myChildToolbar =
    (Toolbar) findViewById(R.id.my_child_toolbar);
  setSupportActionBar(myChildToolbar);

  // Get a support ActionBar corresponding to this toolbar
  ActionBar ab = getSupportActionBar();

  // Enable the Up button
  ab.setDisplayHomeAsUpEnabled(true);
}

添加Action Views

和上面 添加并處理一個(gè)Action 類(lèi)似,只不過(guò)設(shè)置 showAsAction 為 “ifRoom|collapseActionView” 或者 “never|collapseActionView” 就可以了,類(lèi)似這樣

如何?在Activity中添加ToolBar控件

這里我們添加的是一個(gè)帶有搜索功能的Search按鈕,如果我們要自定義一個(gè)自己的按鈕,不添加 actionViewClass 即可

如果想要配置這個(gè)Action,可以在 onCreateOptionsMenu() 的回調(diào)里通過(guò) getActionView() 獲取到Search對(duì)象,類(lèi)似這樣:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.main_activity_actions, menu);

  MenuItem searchItem = menu.findItem(R.id.action_search);
  SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);

  // Configure the search info and add any event listeners...

  return super.onCreateOptionsMenu(menu);6 
}

看完上述內(nèi)容,你們對(duì)如何在Activity中添加ToolBar控件有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


網(wǎng)站標(biāo)題:如何?在Activity中添加ToolBar控件
本文URL:http://weahome.cn/article/jsiiig.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部