ActionBar
ActionBar
山里来的鱼 发表于1年前
ActionBar
  • 发表于 1年前
  • 阅读 5
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

android-sdk-windows/docs/guide/topics/ui/actionbar.html

The ActionBar APIs were first added in Android 3.0 (API level 11) but they are also available in the Support Library for compatibility with Android 2.1 (API level 7) and above.

3.0引入,support v7兼容

1. build.gradle 配置appcompat v7 support library

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

 2. Activity继承自AppCompatActivity

注:ActionBarActivity已经过时

3.  AndroidMainfest

<activity android:theme="@style/Theme.AppCompat.XXX" ... >

4. 添加Action Items

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"/>
    <item android:id="@+id/action_compose"
          android:icon="@drawable/ic_action_compose"
          android:title="@string/action_compose" />
</menu>

如果某个item经常使用,需要在menu节点添加

xmlns:app="http://schemas.android.com/apk/res-auto"

item节点添加

showAsAction="ifRoom"

5. onCreateOptionsMenu,假设第4点的xml文件为main_activity_actions

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity_actions, menu);
    return super.onCreateOptionsMenu(menu);
}

6.处理click事件

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle presses on the action bar items
    switch (item.getItemId()) {
        case R.id.action_search:
            openSearch();
            return true;
        case R.id.action_compose:
            composeMessage();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

 

共有 人打赏支持
粉丝 6
博文 156
码字总数 28874
×
山里来的鱼
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: