android4.2 actionbar 使用总结

1、创键菜单方法,重写函数public boolean onCreateOptionsMenu(Menu menu);

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.content_actions, menu);
        SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
        searchView.setOnQueryTextListener(this);

        // Set file with share history to the provider and set the share intent.
        MenuItem actionItem = menu.findItem(R.id.menu_item_share_action_provider_action_bar);
        ShareActionProvider actionProvider = (ShareActionProvider) actionItem.getActionProvider();
        actionProvider.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);
        // Note that you can set/change the intent any time,
        // say when the user has selected an image.
        Intent shareIntent = new Intent(Intent.ACTION_SEND);
        shareIntent.setType("image/*");
        Uri uri = Uri.fromFile(getFileStreamPath("shared.png"));
        shareIntent.putExtra(Intent.EXTRA_STREAM, uri);
        actionProvider.setShareIntent(shareIntent);
        return true;
    }

2、处理菜单点击事件,重写方法 public boolean onOptionsItemSelected(MenuItem item);
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.show_tabs:
                getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
                item.setChecked(true);
                return true;
            case R.id.hide_tabs:
                getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
                item.setChecked(true);
                return true;
        }
        return false;
    }


3、在app对应的Manifest.xml文件中,给activity添加属性:android:uiOptions="splitActionBarWhenNarrow" 就可以使menu在UI界面底部显示,与ActionBar分离。

        <activity
            android:name="com.example.systemuimodesset.MainActivity"
            android:label="@string/app_name"
            android:uiOptions="splitActionBarWhenNarrow" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

4、ActionBar 显示与隐藏方法。

<strong>                        if (isChecked) {
                            getActionBar().hide();
                        } else {
                            getActionBar().show();
                        }</strong>


<strong>5、修改actionbar背景方法
</strong><pre name="code" class="java"><strong>    <style name="MainActivityTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MainActivityActionBar</item>
    </style>
    
   <style name="MainActivityActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">@drawable/actionbar_bg</item>
    </style></strong>

6、修改actionbar背景的图标和标题文字, 在AndroidManifest.xml对应的Activity里添加对应对应属性字段即可,如下
        <activity
            android:name="com.example.systemuimodesset.MainActivity"
            android:label="@string/custom_actionbar_time"
            android:logo="@drawable/customer_action_bar"
            android:uiOptions="splitActionBarWhenNarrow"
            android:theme="@style/MainActivityTheme">

7、actionbar默认是显示在顶部的,当在AndroidManifest.xml对应的Activity里添加属性android:uiOptions="splitActionBarWhenNarrow"时,可以让七显示在
底部。

 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值