美文网首页毕业设计
Actionbar的学习

Actionbar的学习

作者: 肉团先生 | 来源:发表于2016-02-20 15:20 被阅读537次

最近喜欢上看英文的,经过几次的搜索中文后,发现中文没看懂,反而英文看懂了,想直接看英文的,不懂在看中文,会发现很多中文的,都是看了英文的,再自己进行转译的。

参考资料:

  • Android Working with Action Bar这篇很详细,主要是搜索框spinner图标的添加
    注意几点:
    • ActionBar的布局文件的设置在res->menu->activity_main_actions.xml
    • 主Activity通过onCreateOptionsMenu方法进行初始化。例如:
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.activity_main_actions, menu);
        return super.onCreateOptionsMenu(menu);
    }
  • 通过onOptionsItemSelected进行触发子项的点击事件。例如:Mm
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Take appropriate action for each action item click
    switch (item.getItemId()) {
    case R.id.action_search:
        // search action
        return true;
    case R.id.action_location_found:
        // location found
        LocationFound();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}
  • Android Tab Layout with Swipeable Views -->微信前几板块的tabhost的切换

  • 改变actionbar的整体颜色Android – Theming ActionBar and the SearchView within it,这个设置比较漂亮,但是要用上android-support-v7-appcompat,如何使用这个appcompat,情况这里【Android】設定 Support Library

  • 知识点:

    • 1.menu的显示方式boolean android.app.Activity.onCreateOptionsMenu(Menu menu)的方法中,加入

      MenuItem actionItem = menu.add("Action Button");
      actionItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);

    一共有5种显示方式:从不显示;如果有空间就显示;总是显示;显示时跟随文字;默认收缩其action view
    > public static final int SHOW_AS_ACTION_NEVER = 0;
    public static final int SHOW_AS_ACTION_IF_ROOM = 1;
    public static final int SHOW_AS_ACTION_ALWAYS = 2;
    public static final int SHOW_AS_ACTION_WITH_TEXT = 4;
    public static final int SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW = 8;

注意:
SHOW_AS_ACTION_WITH_TEX竖屏状态不会显示,只有横屏的时候就会显示
设置了action view默认是显示的,设置SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW则默认不显示。

  • 2.此方法设置后退或者点击的效果setDisplayHomeAsUpEnabled(true)

    • 2.1actionbar上显示后退的按钮。

    • oncreate方法上加入:

// get action bar   
ActionBar actionBar = getActionBar();
// Enabling Up / Back navigation
actionBar.setDisplayHomeAsUpEnabled(true);
  • 并且:在androidmanifest.xmnl相应的<Activity >加入android:parentActivityName,例如
<activity
    android:name="info.androidhive.actionbar.LocationFound"
    android:label="@string/activity_new_message"
    android:parentActivityName="info.androidhive.actionbar.MainActivity" >
</activity>
将会回退到父系的`MainActivity`上。![Alt text](http://www.androidhive.info/wp-content/uploads/2013/11/android-action-bar-up-back-navigation.png?a942c6)
  • 2.2actionbar点击的效果
    • oncreate加入:
      > actionBar.setDisplayHomeAsUpEnabled(true);

    • onOptionsItemSelected中的id为:android.R.id.home

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        
        toggle(); //动态判断自动关闭或开启SlidingMenu
        return true;
    }
    return super.onOptionsItemSelected(item);
}
3.修改`actionbar`的样式,一种静态,一种动态,静态就直接在xml导入`style`属性,[Android Action Bar Style Generator](http://jgilfelt.github.io/android-actionbarstylegenerator/),所有主题的样式都用,包括`.9.png`图片。动态如下:
  • 修改背景
ActionBar actionBar = getSupportActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(0xadf1b1ff));
  • 修改actionbar的分割线
``` 
<item name="android:actionBarDivider">@null</item>
```

奇怪的错误

  • actionbar不见了,发现最新的sdk里面用v7包的Theme.Appcompat.Light主题已经默认不带actionbar了,跟以前发生了很大的区别,导致getActionBar()的时候,得到的值为null。

相关文章

  • Actionbar的学习

    最近喜欢上看英文的,经过几次的搜索中文后,发现中文没看懂,反而英文看懂了,想直接看英文的,不懂在看中文,会发现很多...

  • 代码隐藏状态栏

    ActionBar actionbar=getSupportActionBar();if(actionbar !=...

  • cavas坐标原点

    代码 ActionBar存在时有ActionBar.PNG ActionBar不存在时无ActionBar.PNG

  • ActionBar方法

    ActionBar acrtionBar = getActionBar(); (1)actionBar.setHo...

  • Toolbar

    ActionBar、TitleBar、ToolBar的联系和区别MaterialDesign学习篇(二),Tool...

  • Android和BLE学习网址大全

    Android英文学习博客: AndroidHive ActionBar SQLite Android官方反馈 C...

  • 导航栏设置

    1.隐藏导航栏 ActionBar actionBar = getSupportActionBar(); acti...

  • 模块4:主视图UI布局 - 使用Toolbar (2)

    替换Actionbar 替换分两步——第一步自然是去掉系统自带的Actionbar。 去掉系统Actionbar ...

  • 4(2)功能框

    Actionbar/Action Sheets/Acitivity View(动作栏/操作栏) Actionbar...

  • Actionbar

    简述 Actionbar使得Activity的使用具备统一习惯 Tooglebar Actionbar

网友评论

    本文标题:Actionbar的学习

    本文链接:https://www.haomeiwen.com/subject/mdxkxttx.html