android.support.v7.app.AppCompatActivity

1、Android Studio (api 23) 新建项目的时候 Activity


public class MainActivity extends AppCompatActivity


2、系统默认样式

<!-- Base application theme. -->
    <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>

3、运行就可以看到ActionBar,下面的问题是我们如何来自定义ActionBar来完成我们的任务

import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
ActionBar actionBar = getSupportActionBar();

1)使用自定义view
        actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
        actionBar.setCustomView(R.layout.layout);
        View actionView = actionBar.getCustomView();
        actionView.findViewById(R.id.actionBarUp).setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                LogUtil.i("test","actionview");
            }
        });

  2)就使用系统的view

actionBar.setHomeButtonEnabled(true);
        /*
         * 在应用程序图标的左边显示一个向左的箭头,
         *
         * 并且将HomeButtonEnabled设为true。
         *
         * 默认为false。
         */
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setDefaultDisplayHomeAsUpEnabled(true);
//换个图标 actionBar.setHomeAsUpIndicator(R.mipmap.ic_left_x);

3)  加个事件

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        switch (id) {
            case android.R.id.home:
                showClick();
                break;
            case R.id.mnu_refresh:

                break;
            default:
                break;
        }
        return super.onOptionsItemSelected(item);
    }

 



posted @ 2016-03-04 15:10  jiduoduo  阅读(9925)  评论(0编辑  收藏  举报