最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android3.0 ActionBar導(dǎo)航標(biāo)題欄使用解析

 更新時(shí)間:2021年08月19日 15:39:32   作者:碼農(nóng)王提莫  
這篇文章主要為大家詳細(xì)解析了Android3.0 ActionBar導(dǎo)航標(biāo)題欄的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

先看圖:

[1]是ActionBar的圖標(biāo),[2]是兩個(gè)action按鈕,[3]是overflow按鈕。

介紹:

Action Bar是一種新増的導(dǎo)航欄功能,在Android 3.0之后加入到系統(tǒng)的API當(dāng)中,它標(biāo)識(shí)了用戶(hù)當(dāng)前操作界面的位置,并提供了額外的用戶(hù)動(dòng)作、界面導(dǎo)航等功能。使用ActionBar的好處是,它可以給提供一種全局統(tǒng)一的UI界面,使得用戶(hù)在使用任何一款軟件時(shí)都懂得該如何操作,并且ActionBar還可以自動(dòng)適應(yīng)各種不同大小的屏幕。

添加ActionBar

1、不需要導(dǎo)入ActionBar,因?yàn)樵赼ndroid3.0或者以上版本中,ActionBar已經(jīng)默認(rèn)的包含在Activity中
2、在Android3.0的默認(rèn)主題“holographic”中,已經(jīng)創(chuàng)造了ActionBar
3、當(dāng)android:minSdkVersion 或者 android:targetSdkVersion 屬性被設(shè)置成11或者更高時(shí),應(yīng)用會(huì)被認(rèn)為是Android3.0版本(默認(rèn)含有ActionBar)

二、隱藏ActionBar

1、我們可以通過(guò)把主題設(shè)置為T(mén)heme.Holo.NoActionBar為一個(gè)Activity去除掉ActionBar

<activity android:theme="@android:style/Theme.Holo.NoActionBar">

2、我們也可以通過(guò)在代碼中調(diào)用show()或者h(yuǎn)ide()方法來(lái)相應(yīng)的顯示或者隱藏ActionBar
3、在我們使用actionBar.hide();方法是系統(tǒng)默認(rèn)會(huì)將ActionBar占用的空間分配給界面,此時(shí)顯示的界面將會(huì)重新繪制。
同樣調(diào)用actionBar.show();時(shí)也會(huì)重新繪制界面。如果我們一個(gè)程序需要頻繁的顯示或者隱藏ActionBar的話(huà),這樣
就不會(huì)有良好的效果。Google提供給一個(gè)屬性可以讓ActionBar浮在界面上,當(dāng)然你可以讓ActionBar的背景為透明,
這樣會(huì)有良好的體驗(yàn)效果。

Demo栗子:

清單文件中設(shè)置theme

<application
  android:name=".view.MyApp"
  android:allowBackup="true"
  android:icon="@mipmap/ic_launcher"
  android:label="@string/app_name"
  android:supportsRtl="true"
  android:theme="@style/AppTheme">

style/AppTheme

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
  <!-- Customize your theme here. -->
  <item name="colorPrimary">@color/colorPrimary</item>
  <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
  <item name="colorAccent">@color/colorAccent</item>
 </style>

MainActivity中初始化

/**
  * 初始化標(biāo)題
  */
 private void initActionbar() {
  ActionBar actionBar= getSupportActionBar();//獲取當(dāng)前頁(yè)面的標(biāo)題欄
  actionBar.setTitle("Demo應(yīng)用");//設(shè)置顯示標(biāo)題
  actionBar.setLogo(R.mipmap.ic_launcher);//設(shè)置logo標(biāo)志
  actionBar.setDisplayShowHomeEnabled(true);//是否顯示在主頁(yè)面上
  actionBar.setDisplayUseLogoEnabled(true);//是否使用標(biāo)志圖片
  actionBar.setDisplayHomeAsUpEnabled(true);//返回鍵
  actionBar.show();//設(shè)置后調(diào)用show顯示標(biāo)題欄
 }

菜單中加載布局

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.action_bar_menu,menu);
  return true;
 }

menu.action_bar_menu

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto">
 <!--menu集合添加多個(gè)按鈕
  showAsAction 顯示設(shè)置
  always 爭(zhēng)取顯示
  ifRoom根據(jù)剩余空間的大小來(lái)決定 ,大 就顯示 ,反之 不顯示
  never 默認(rèn)從來(lái)不顯示在集合外面
  app:showAsAction="always"-->
 <item android:id="@+id/menu1"
  android:title="菜單1"
  android:icon="@drawable/action_download"/>
 <item android:id="@+id/menu2"
  android:title="菜單2"
  android:icon="@drawable/ic_feedback"/>
 <item android:id="@+id/menu3"
  android:title="菜單3"
  app:showAsAction="never"
  android:icon="@drawable/ic_exit"/>
</menu>

提供處理標(biāo)題元素的事件方法

 /**
 *這是Activity提供處理標(biāo)題元素的事件方法,返回true消費(fèi)事件 
 *關(guān)鍵點(diǎn):android.R.id.home 是系統(tǒng)分配置的返回的id
 */
 public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()){
   case android.R.id.home: //這個(gè)id是固定的,系統(tǒng)分配的
   if(mDrawerLayout.isDrawerOpen(mMenuLayout)){
    //如果是打開(kāi)狀態(tài),那么點(diǎn)擊就關(guān)閉
    mDrawerLayout.closeDrawer(mMenuLayout);
   }else{
    //如果是關(guān)閉狀態(tài),那么點(diǎn)擊就打開(kāi)
    mDrawerLayout.openDrawer(mMenuLayout);
   }
    break;
   case R.id.menu1:
    Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show();
    break;
   case R.id.menu2:
    Toast.makeText(MyApp.getContext(), item.getTitle(), Toast.LENGTH_SHORT).show();
    break;
   case R.id.menu3:
    UiUtils.showToast(item.getTitle().toString());
    break;
  }
  return super.onOptionsItemSelected(item);
 }
/**
  * 設(shè)置箭頭打開(kāi)動(dòng)畫(huà)
  */
 private void initRotateArrowAnimation() {
  //參數(shù)1:Activity 參數(shù)2:抽屜控件 參數(shù)3,4:string
  ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this,mDrawerLayout,R.string.open,R.string.close);
  //同步狀態(tài) 作用:把返回圖標(biāo)替換 2,把旋轉(zhuǎn)特效箭頭跟抽屜關(guān)聯(lián)
  toggle.syncState();
  //抽屜滑動(dòng)的距離換成角度,使用箭頭旋轉(zhuǎn)
  mDrawerLayout.addDrawerListener(toggle);
 }

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

相關(guān)文章

  • Android Shape屬性創(chuàng)建環(huán)形進(jìn)度條

    Android Shape屬性創(chuàng)建環(huán)形進(jìn)度條

    這篇文章主要介紹了Android Shape屬性創(chuàng)建環(huán)形進(jìn)度條的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Android嵌套滾動(dòng)與協(xié)調(diào)滾動(dòng)的實(shí)現(xiàn)方式匯總

    Android嵌套滾動(dòng)與協(xié)調(diào)滾動(dòng)的實(shí)現(xiàn)方式匯總

    如何實(shí)現(xiàn)這種協(xié)調(diào)滾動(dòng)的布局呢,我們使用CoordinatorLayout+AppBarLayout或者CoordinatorLayout+Behavior實(shí)現(xiàn),另一種方案是MotionLayout,我們看看都是怎么實(shí)現(xiàn)的吧
    2022-06-06
  • 詳解Android JetPack之LiveData的工作原理

    詳解Android JetPack之LiveData的工作原理

    這篇文章主要介紹了詳解Android JetPack之LiveData的工作原理,幫助大家更好的理解和學(xué)習(xí)使用Android開(kāi)發(fā),感興趣的朋友可以了解下
    2021-03-03
  • Android忽略文件實(shí)例代碼

    Android忽略文件實(shí)例代碼

    這篇文章主要介紹了Android忽略文件的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • RecyclerView無(wú)限循環(huán)效果實(shí)現(xiàn)及示例解析

    RecyclerView無(wú)限循環(huán)效果實(shí)現(xiàn)及示例解析

    這篇文章主要為大家介紹了RecyclerView無(wú)限循環(huán)效果實(shí)現(xiàn)及示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Android自定義View繪制貝塞爾曲線(xiàn)實(shí)現(xiàn)流程

    Android自定義View繪制貝塞爾曲線(xiàn)實(shí)現(xiàn)流程

    貝塞爾曲線(xiàn)的本質(zhì)是通過(guò)數(shù)學(xué)計(jì)算的公式來(lái)繪制平滑的曲線(xiàn),分為一階,二階,三階及多階。但是這里不講數(shù)學(xué)公式和驗(yàn)證,那些偉大的數(shù)學(xué)家已經(jīng)證明過(guò)了,所以就只講講Android開(kāi)發(fā)中的運(yùn)用吧
    2022-11-11
  • Android編程之繪圖canvas基本用法示例

    Android編程之繪圖canvas基本用法示例

    這篇文章主要介紹了Android編程之繪圖canvas基本用法,結(jié)合實(shí)例形式分析了Android canvas繪圖的相關(guān)方法與使用技巧,需要的朋友可以參考下
    2017-09-09
  • 保存ListView上次的滾動(dòng)條的位置實(shí)例(必看)

    保存ListView上次的滾動(dòng)條的位置實(shí)例(必看)

    下面小編就為大家?guī)?lái)一篇保存ListView上次的滾動(dòng)條的位置實(shí)例(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • Flutter 實(shí)現(xiàn)進(jìn)度條效果

    Flutter 實(shí)現(xiàn)進(jìn)度條效果

    在一些上傳頁(yè)面炫酷的進(jìn)度條效果都是怎么實(shí)現(xiàn)的,今天小編通過(guò)本文給大家分享Flutter 一行代碼快速實(shí)現(xiàn)你的進(jìn)度條效果,感興趣的朋友一起看看吧
    2020-05-05
  • Android異步方法以同步方式實(shí)現(xiàn)

    Android異步方法以同步方式實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Android異步方法以同步方式進(jìn)行的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評(píng)論

老河口市| 乐至县| 修文县| 富源县| 邢台县| 南宫市| 盱眙县| 湖南省| 佛学| 鄂尔多斯市| 平乡县| 临夏市| 团风县| 合作市| 遵化市| 明溪县| 孝昌县| 陇南市| 七台河市| 绥德县| 遂溪县| 龙游县| 灵山县| 衡阳县| 泗阳县| 山阳县| 曲阳县| 新郑市| 兴和县| 舒城县| 钟祥市| 乡城县| 鄱阳县| 思南县| 泸定县| 石河子市| 舒兰市| 墨江| 翼城县| 绥化市| 法库县|