zoukankan      html  css  js  c++  java
  • ActionBarSherlock的学习笔记(二) ------------ 创建ActionBarSherlock

    将ActionBarSherlock 作为库项目添加到当前的项目中去,然后创建ActionBar,并自定义ActionBar的标题栏

    例子如下:

    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.widget.Toast;
    import com.actionbarsherlock.app.SherlockActivity;
    import com.actionbarsherlock.view.MenuItem;
    
    public class MainActivity extends SherlockActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            initActionBarTitle();
        }
        
        /**
         * 定义ActionBar的标题栏,可定义标题栏的图标和文字以及是否添加返回按钮
         * 
         * @return void  
         * @author hsx
         * @time 2014-3-14下午07:19:20
         */
        private void initActionBarTitle() {
    

          // 可以自定义actionbar
            getSupportActionBar().setDisplayShowCustomEnabled(true);
            getSupportActionBar().setDisplayShowTitleEnabled(false);
            // 不在actionbar显示logo
            getSupportActionBar().setDisplayShowHomeEnabled(false);

            View mainActionBarView = LayoutInflater.from(this).inflate(R.layout.main_action_bar, null);
            /**
             * 用此方法设置自定义的标题栏 
             */
            getSupportActionBar().setCustomView(mainActionBarView);
        }
    
        @Override
        public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
    
            /*
             * @param groupId The group identifier that this item should be part of.
             * This can be used to define groups of items for batch state changes.
             * Normally use {@link #NONE} if an item should not be in a group.
             * 
             * @param itemId Unique item ID. Use {@link #NONE} if you do not need a
             * unique ID.
             * 
             * @param order The order for the item. Use {@link #NONE} if you do not
             * care about the order. See {@link MenuItem#getOrder()}.
             * 
             * @param title The text to display for the item.
             * 
             * 
             * menu.add(groupId, itemId, order, title);
             */
    
            MenuItem search = menu.add(0, 1, 2, "share");
            search.setIcon(R.drawable.abs__ic_menu_share_holo_dark);
            search.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
    
            /************************************************************* 
              按钮的排列的顺序, 不是按照创建的先后顺序显示的, 而是根据第三个参数(order)的设定显示的,order数字小的排列在前面。
             若是order的大小一样则,按照创建的先后顺序显示。
             点击事件的判断是根据第二个参数(itemId)做判断的。
            /*************************************************************/
    
            MenuItem addItem = menu.add(0, 2, 1, "overflow");
            addItem.setIcon(R.drawable.abs__ic_menu_moreoverflow_holo_dark);
            addItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    
            return super.onCreateOptionsMenu(menu);
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
            case 1:
                Toast.makeText(MainActivity.this, "分享", Toast.LENGTH_SHORT).show();
                break;
            case 2:
                Toast.makeText(MainActivity.this, "溢出栏", Toast.LENGTH_SHORT).show();
                break;
    
            }
            return super.onOptionsItemSelected(item);
        }
    }
  • 相关阅读:
    剑指 Offer 47. 礼物的最大价值
    剑指 Offer 46. 把数字翻译成字符串
    剑指 Offer 50. 第一个只出现一次的字符
    剑指 Offer 42. 连续子数组的最大和
    剑指 Offer 45. 把数组排成最小的数
    剑指 Offer 44. 数字序列中某一位的数字
    Express全系列教程之(七):cookie的加密
    Express全系列教程之(六):cookie的使用
    Express全系列教程之(八):session的基本使用
    在express项目中使用redis
  • 原文地址:https://www.cnblogs.com/hsx514/p/3600815.html
Copyright © 2011-2022 走看看