actionbarsherlock的使用

actionbarsherlock下载地址:https://github.com/JakeWharton/ActionBarSherlock
使用:
1、 导入 ActionBarSherlock并关联到项目中;
2、 在程序的AndroidManifest.xml文件中,修改主题,改为:android:theme="@style/Theme.Sherlock.Light"
3、 如果要让actionbar显示一些 menu按钮 ,那么我们需要重写 activity 中的onCreateOptionsMenu,对应的还要重写onOptionsItemSelected来响应这些按钮的点击。另外该activity必须继承ShelockActivity.
public class MainActivity extends SherlockActivity {    
          
    @Override    
    public void onCreate(Bundle savedInstanceState) {    
        super.onCreate(savedInstanceState);    
        setContentView(R.layout.activity_main);    
                  
    }    
              
    @Override    
    public boolean onOptionsItemSelected(MenuItem item) {    
        switch(item.getItemId()){    
        case R.id.menu_delete:    
            Toast.makeText(this, "delete", Toast.LENGTH_SHORT).show();    
            break;    
          
        }    
        return super.onOptionsItemSelected(item);    
    }    
              
    @Override    
    public boolean onCreateOptionsMenu(Menu menu) {    
        getSupportMenuInflater().inflate(R.menu.activity_main, menu);    
        return super.onCreateOptionsMenu(menu);    
    }    
              
}

其中,R.menu.activity_main是菜单的布局文件。内容如下:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
 
    <item
        android:id="@+id/add"
        android:icon="@android:drawable/ic_menu_add"
        android:showAsAction="ifRoom"
        android:title="添加"
        android:titleCondensed="添加">
    </item>

 
</menu>
4、 actionbar左上角返回按钮

实际项目中,我们经常需要ui中一个返回按钮来进行界面之间的跳转。其实很简单,和actionbar的使用一样,只需在Oncreate时或适当时机写上
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

那么如何响应呢

也是重写onOptionsItemSelected() ,这个返回键的id是android.R.id.home。

5、多选

@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
<span style="white-space:pre">	</span>/** menu.add(groupId, itemId, order, title)
<span style="white-space:pre">	</span> * groupId:菜单项所在的组 
 <span style="white-space:pre">	</span>* itemId:菜单项编号
 <span style="white-space:pre">	</span>* order:排序 
 <span style="white-space:pre">	</span>* title:标题 
<span style="white-space:pre">	</span>*/ 
 <span style="white-space:pre">	</span>SubMenu addMenu = menu.addSubMenu(0, 2, 3, "overflow");
 <span style="white-space:pre">	</span>addMenu.add(0, 3, 0, "更换主题"); 
 <span style="white-space:pre">	</span>addMenu.add(0, 4, 0, "系统设置"); 
 <span style="white-space:pre">	</span>addMenu.add(0, 5, 0, "修改密码"); 
 <span style="white-space:pre">	</span>addMenu.add(0, 6, 0, "更换头像"); 
 <span style="white-space:pre">	</span>MenuItem overFlowItem = addMenu.getItem(); 
 <span style="white-space:pre">	</span>overFlowItem.setIcon(R.drawable.abs__ic_menu_moreoverflow_holo_dark); 
 <span style="white-space:pre">	</span>overFlowItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 
 <span style="white-space:pre">	</span>return super.onCreateOptionsMenu(menu);
}
6、修改返回小图标:

<style name="MyTheme" parent="Theme.Sherlock.Light">
    <item name="homeAsUpIndicator">@drawable/ic_ab_back_holo_dark</item>
</style>
这里注意一点  由于项目是使用的sherlock actionbar 所以parent 只能是Theme.sherlock.XXX   
然后在Manifest 中把android:theme 修改成  style.xml 中自定义的 name 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值