`
rensanning
  • 浏览: 3553468 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38247
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607654
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682869
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89577
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:402165
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69772
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91866
社区版块
存档分类
最新评论

Android UI Action Bar之ActionBarSherlock

 
阅读更多
ActionBarSherlock是Android兼容开发包的一个扩展,在所有的Android版本中都能实现Action Bar。对于Android 4.0及更高版本,他会自动使用Native ActionBar,而对于之前没有Action Bar功能的Android版本,基于Ice Cream Sandwich的实现自定义的Action Bar布局。能够让开发者轻松开发一款带Action Bar的应用,并且适用于Android 2.x及其以上所有版本。

***Action Bar来源于Honeycomb的app库,logo显示在左边,导航标签与操作项目在右边(加溢出菜单按钮)。

https://github.com/JakeWharton/ActionBarSherlock

版本:ActionBarSherlock-4.4.0

(1)从标准Android切换到ActionBarSherlock
既然是兼容包,就意味着要使用一些特有的东西来替换Android标准的东西。


(2)默认样式

res/menu/default_style.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>
</menu>


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflator = getSupportMenuInflater();
    inflator.inflate(R.menu.default_style, menu);
    return true;
}

 

对比淘宝4.0的消息设置:


(3)Tab样式
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tab_style);

    ActionBar actionBar = getSupportActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    
    Tab tab1 = actionBar.newTab();
    tab1.setText("Tab 1");
    tab1.setTabListener(this);
    actionBar.addTab(tab1);
    
    Tab tab2 = actionBar.newTab();
    tab2.setText("Tab 2");
    tab2.setTabListener(this);
    actionBar.addTab(tab2);
    
    Tab tab3 = actionBar.newTab();
    tab3.setText("Tab 3");
    tab3.setTabListener(this);
    actionBar.addTab(tab3);

}

@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
    Toast.makeText(this, "change:" + tab.getPosition(), Toast.LENGTH_SHORT).show();
}



对比淘宝4.0的微淘:


(4)List样式
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_list_style);

    ActionBar actionBar = getSupportActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
    for (int i = 1; i <= 5; i++) {
        adapter.add("item" + i);
    }
    actionBar.setListNavigationCallbacks(adapter,
            new OnNavigationListener() {
                @Override
                public boolean onNavigationItemSelected(int itemPosition, long itemId) {
                    Toast.makeText(ListStyleActivity.this, "pos" + itemPosition, Toast.LENGTH_SHORT).show();
                    return false;
                }
            });
}

 

对比淘宝4.0的我的购物车:


  • 大小: 94.7 KB
  • 大小: 42.9 KB
  • 大小: 45.4 KB
  • 大小: 42.9 KB
  • 大小: 41.4 KB
  • 大小: 47.3 KB
  • 大小: 48.7 KB
  • 大小: 44.9 KB
  • 大小: 194.7 KB
分享到:
评论

相关推荐

    actionbarsherlock下载

    ActionBarSherlock是一个非常重要的Android库项目,由Jake Wharton开发,它为Android应用程序提供了对Action Bar的支持,使得在Android 2.1(API级别7)及更高版本的应用程序可以使用这个自Android 3.0(API级别11)...

    Android应用源码之JakeWharton-ActionBarSherlock-4.4.0-0-g4a79d53.zip

    ActionBarSherlock是由Jake Wharton开发的一个著名Android库,它为Android 2.1(API级别7)及以上的设备提供了对Action Bar的支持。Action Bar是Android 3.0(API级别11)引入的一种设计模式,旨在提供更统一、更...

    ActionBarSherlock

    7. **折叠式Action Bar**:在竖屏模式下,当空间有限时,`ActionBarSherlock`可以将`Action Items`折叠成一个下拉菜单,节省屏幕空间。 **使用步骤** 1. 添加依赖:将`ActionBarSherlock`库的AAR文件或JAR包添加到...

    自定义的 Action Bar

    总之,自定义Action Bar是Android UI开发中的一个重要技能,它能帮助开发者实现独特的界面设计和增强用户体验。通过使用Theme.AppCompat、自定义ViewGroup或第三方库,你可以轻松地打造符合应用需求的个性化Action ...

    ActionBarSherlock 状态栏 源码

    **Android 状态栏详解** ...总之,ActionBarSherlock是Android开发者深入理解Action Bar机制、提升应用兼容性的宝贵资源。通过研究其源码,开发者可以提升自己的Android编程技巧,为用户提供更加一致和优质的交互体验。

    Android应用源码之JakeWharton-ActionBarSherlock-4.4.0-0-g4a79d53.rar

    通过深入研究JakeWharton的ActionBarSherlock源码,开发者可以学习到如何优雅地处理Android的版本兼容问题,以及如何实现自定义UI组件。这对于提升Android应用的用户体验和兼容性具有重要的实践意义。同时,源码中的...

    ActionBarSherlock开源项目

    ActionBarSherlock是一个非常重要的开源项目,专为Android开发者设计,以提供对Action Bar功能的广泛支持,即使在Android 2.x版本(API级别低于11)的设备上也能实现。这个项目的目的是使得开发者能够轻松地在各个...

    ActionBarSherlock-master.zip

    ActionBarSherlock是一个经典的...总之,ActionBarSherlock是Android开发者在不牺牲兼容性的前提下实现Action Bar设计模式的重要工具,它简化了UI开发,提升了用户体验,尤其在处理旧版本Android设备时具有显著价值。

    appcompatdemo

    Android UI开发第二十四篇——Action Bar》。ActionBar的API被添加在Android3.0(API 级别 11)中,低版本的还是用不了,根本不能适配支持Android 2.X系列的应用。很幸运有第三方开源的actionbarsherlock支持使得...

    ActionBarSherlock框架.zip

    总之,`ActionBarSherlock`框架是Android开发中一个重要的兼容库,使得Action Bar可以在较旧版本的Android系统上使用,而`Butter Knife`则简化了UI元素的处理。这两个库的结合使用,可以显著提升开发效率和应用质量...

    android-actionbar-for-2.x.x.7z

    Action Bar是Android系统中的一种UI组件,主要用在应用程序的顶部,用于展示应用的标识、提供导航以及常用操作。在Android 3.0(API级别11)及更高版本中,Action Bar是默认界面的一部分,但在早期版本如2.x(API...

    vlc for android android 4.2.2 eclipse 可以编译通过的源码

    ActionBarSherlock是一个库项目,它为Android 2.1及以上版本提供了Android 3.0(Honeycomb)风格的Action Bar。Action Bar是Android设计指南中推荐的界面元素,用于提供应用导航和操作。ActionBarSherlock使得开发者...

    actionbarsherlock:actionbarsherlock , android 库

    Action Bar是Android 3.0(API级别11)及以上版本引入的一个重要UI组件,用于提供应用程序的导航和操作选项。在早期版本的Android中,Action Bar的缺失限制了应用程序的界面统一性和用户体验。 这个库的实现原理是...

    Android的Tab方法

    随着Android设计指南的推广,ActionBar(也称为Action Bar)成为了新标准,它提供了更好的UI一致性。ActionBarSherlock是一个库,使开发者能够在Android 2.1及更高版本上使用Action Bar,包括对Tab的支持。使用...

    Android 开发兼容包Support Library18

    Action Bar是Android UI设计指南中的关键元素,提供了应用的标识、导航以及操作选项,极大地提升了应用的可用性和专业性。 这些兼容库的使用可以帮助开发者轻松地创建跨版本的应用,确保在各种Android设备上的表现...

    Android模仿什么值得买UI界面实现

    5. **Action Bar和ToolBar**: - 使用`ActionBar`或`Toolbar`作为应用的顶部导航栏,可以自定义标题、图标以及操作按钮。`actionbarsherlock`库是为老版本Android提供`ActionBar`支持的工具。 6. **滑动返回...

Global site tag (gtag.js) - Google Analytics