`
irtutsk
  • 浏览: 17802 次
社区版块
存档分类
最新评论

ActionBar导航(下拉列表)

阅读更多

ActionBar导航(下拉列表)

在Activity中添加Adapter适配器,实现OnNavigationListener接口。将fragment添加到MyDropDownListenser中,并把下拉列表标题添加到MySpinnerAdapter里。

设置setNavigationMode为NAVIGATION_MODE_LIST,向setListNavigationCallbacks中添加适配器和接口。

下拉列表有两种样式:simple_spinner_dropdown_item(带圆圈)和simple_spinner_item(不带圆圈)。为兼容Android2.x请使用support_simple_spinner_dropdown_item(不带圆圈)。

import android.support.v7.app.ActionBarActivity;
private ActionBar actionBar;
private FragmentManager fm;
private ArrayList<Fragment> mFragmentsList;
private String[] dataTag;
@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	actionBar = getSupportActionBar();
	fm = getSupportFragmentManager();
	//向ArrayList中添加fragment
	mFragmentsList = new ArrayList<Fragment>();
	mFragmentsList.add(new MyFragmentA());
	mFragmentsList.add(new MyFragmentB());
	//向dataTag添加标签
	dataTag =new String[]{"页 面 一","页 面 二"};
	//设置SpinnerAdapter
	MySpinnerAdapter Adapter = new MySpinnerAdapter(this,
			support_simple_spinner_dropdown_item, dataTag);
	//NavigationSpinner配置
	actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
	actionBar.setListNavigationCallbacks(Adapter.getAdapter(),
	//设置DropDownListenser
			new MyDropDownListenser(fm, mFragmentsList));
}

 MySpinnerAdapter.java——设置下拉列表。

public class MySpinnerAdapter {
	private ArrayAdapter<String> adapter;

	public MySpinnerAdapter(Context context, int textArrayResId, String[] mItems) {
		// TODO Auto-generated constructor stub
		this.adapter = new ArrayAdapter<String>(context,
				support_simple_spinner_dropdown_item, mItems);
		this.adapter.setDropDownViewResource(textArrayResId);
	}

	public ArrayAdapter<String> getAdapter() {
		return adapter;
	}
}

 MyDropDownListenser.java——添加fragment。

public class MyDropDownListenser implements OnNavigationListener {
	private FragmentManager mFm;
	private ArrayList<Fragment> mFragmentsList;
	
	public MyDropDownListenser(FragmentManager fm,
			ArrayList<Fragment> fragmentsList) {
		// TODO Auto-generated constructor stub
		this.mFm = fm;
		this.mFragmentsList = fragmentsList;
	}

	@Override
	public boolean onNavigationItemSelected(int itemPosition, long itemId) {
		// TODO Auto-generated method stub
		FragmentTransaction transaction = mFm.beginTransaction();
		// 将Activity中的内容替换成对应选择的Fragment
		transaction.replace(android.R.id.content,
				mFragmentsList.get(itemPosition));
		transaction.commit();
		return true;
	}

}



 

Android2.3模拟器效果图

  • 大小: 39.9 KB
分享到:
评论

相关推荐

    ActionBar实现导航下拉列表

    ActionBar实现导航下拉列表效果,项目内含:源码+效果图+项目结构图 教程地址:http://blog.csdn.net/yangyu20121224/article/details/9050573

    低版本兼容的ActionBar下拉导航+悬浮透明样式

    本主题将深入探讨如何在低版本Android上实现`ActionBar`的下拉导航功能以及悬浮透明样式。 首先,要实现`ActionBar`的下拉导航,可以使用`ActionBarSherlock`库。`ActionBarSherlock`是一个开源库,由Jake Wharton...

    Android巧用ActionBar实现下拉式导航

    在本例中,我们需要将其设置为`NAVIGATION_MODE_LIST`,这将允许我们显示一个下拉列表作为导航选项。代码如下: ```java actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); ``` 接下来,我们需要创建...

    actionbar下拉刷新demo eclipse

    在Android开发中,"下拉刷新"通常用于列表视图(ListView)或者滚动视图(ScrollView)中,当用户下拉列表时,可以显示更新内容的动画。这种效果可以增强用户体验,使数据实时更新变得直观且易于操作。实现这一功能...

    android4.0 actionbar API

    - **下拉列表**:提供一种简单的导航方式。 - **交互式 Action 组件**:例如搜索框等,可以直接放置在 ActionBar 内部。 #### 四、ActionBar 在 Activity 中的应用 - **获取 ActionBar**:从 Android 3.0 开始,...

    ActionBar效果

    - **setNavigationMode**:设置导航模式,如普通菜单、标签页、下拉列表等。 5. **菜单与快捷方式** - **菜单资源**:在res/menu目录下创建XML文件定义菜单项。 - **onCreateOptionsMenu**:在Activity中重写此...

    actionbar竖向导航

    `Spinner`可以像下拉列表那样显示,而`ActionView`则允许你自定义视图。在`menu_navigation.xml`中,将`&lt;item&gt;`替换为`&lt;spinner&gt;`或`&lt;actionLayout&gt;`,然后在代码中填充数据并设置监听器。 对于`Spinner`: ```...

    ActionBar实例

    3. **导航模式**:包括tab导航、下拉列表导航等,方便用户在应用的不同部分之间切换。 4. **选项菜单**:通过点击汉堡菜单(通常在右上角)展开,显示更多的操作选项。 **ViewPager** ViewPager是一种滑动视图容器...

    自定义组件实现ActionBar

    3. 导航模式:提供滑动、下拉列表或标签页等不同的导航方式。 4. 行为切换:例如,搜索栏、设置按钮等,可以方便用户快速访问常用功能。 自定义ActionBar的步骤主要包括以下几点: 1. **启用ActionBar**:在...

    ActionBar示例

    - ActionProvider是为菜单项提供更复杂行为的组件,比如下拉列表或日期选择器。 - ActionView可以直接在ActionBar中显示自定义视图,如搜索框。 8. **使用AppCompat库** - 对于支持较低API级别的设备,可以使用...

    ActionbarDemo.rar

    在Android开发中,经常需要在`ActionBar`中添加下拉列表或搜索功能,以便用户能快速筛选或搜索列表中的内容。这个示例可能详细讲解了如何实现这一功能。 3. **ActionBarUI**:这个名字暗示着这可能是一个关于`...

    android ActionBar与Menu - 2 - email中ActionBar分析.doc

    至于菜单(Menu),在Android中,菜单通常是在ActionBar的下拉列表中显示,或者在某些情况下,如Email应用中,菜单可能被放置在屏幕底部。Menu提供了额外的操作选项,比如设置、帮助等,这些选项在ActionBar空间有限...

    ActionBar and StatusBar

    3. 下拉列表:可以用来展示更多的选项或者导航层次,例如在菜单中切换不同的活动或视图。 4. 搜索视图:可以提供搜索功能,允许用户在应用中快速查找内容。 5. 切换模式:如汉堡菜单或抽屉式导航,可以展示更多功能...

    ActionBar(包含lib项目和测试项目)

    - 导航模式:包括选项卡、下拉列表、堆栈等,用于在不同视图之间切换。 - 自定义视图:允许开发者添加自定义布局元素,增强交互性。 **2. ActionBar的使用** 在Android项目中,通常通过以下步骤来实现ActionBar: ...

    安卓ActionBar相关-ActionBarSherlock-master.zip

    5. **导航模式**:包括Tab导航、下拉列表导航等,为用户提供多种方式在应用的不同部分之间切换。 6. **动作栏扩展**:允许开发者创建自定义视图和扩展动作栏,实现更复杂的交互和展示效果。 【学习和使用...

    android4.0 ActionBar API

    3. **下拉列表导航**:为了帮助用户进行导航,ActionBar 还支持通过下拉列表的形式提供更多的选项或层级结构。 4. **交互式 Action 组件**:开发者可以在 ActionBar 上集成交互式组件,比如搜索框等,这些组件通常...

    Android仿微信下拉列表实现(加顶部菜单栏和底部菜单栏)

    综上所述,实现“Android仿微信下拉列表实现(加顶部菜单栏和底部菜单栏)”需要结合`SwipeRefreshLayout`、`RecyclerView`、`Toolbar`、`BottomNavigationView`、`TabLayout`和`ViewPager`等多个组件。通过合理配置...

    Android Studio环境下使用ActionBar示例Demo

    4. 下拉列表:可以展示多个选项,如切换视图或筛选数据。 5. 自定义视图:开发者可以自定义`ActionBar`的布局,以满足特定需求。 在`Android Studio`中使用`ActionBar`,首先你需要确保你的项目支持API级别11及以上...

    ActionBar自定义样式

    4. **动作视图(Action Views)**:除了标准的按钮,还可以在ActionBar中添加自定义视图,例如搜索框或下拉列表,通过`&lt;item name="android:actionLayout"&gt;@layout/action_view&lt;/item&gt;`定义。 5. **分割线...

    ActionBar应用开发相关代码

    List导航通常是通过Spinner组件实现的,它是一个下拉列表,可以展示多个选项。在ActionBar中,Spinner可以用来替代Tab,特别是在屏幕空间有限的情况下。使用`Spinner`时,开发者需要创建一个Adapter,将数据源绑定...

Global site tag (gtag.js) - Google Analytics