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模拟器效果图
相关推荐
ActionBar实现导航下拉列表效果,项目内含:源码+效果图+项目结构图 教程地址:http://blog.csdn.net/yangyu20121224/article/details/9050573
本主题将深入探讨如何在低版本Android上实现`ActionBar`的下拉导航功能以及悬浮透明样式。 首先,要实现`ActionBar`的下拉导航,可以使用`ActionBarSherlock`库。`ActionBarSherlock`是一个开源库,由Jake Wharton...
在本例中,我们需要将其设置为`NAVIGATION_MODE_LIST`,这将允许我们显示一个下拉列表作为导航选项。代码如下: ```java actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); ``` 接下来,我们需要创建...
在Android开发中,"下拉刷新"通常用于列表视图(ListView)或者滚动视图(ScrollView)中,当用户下拉列表时,可以显示更新内容的动画。这种效果可以增强用户体验,使数据实时更新变得直观且易于操作。实现这一功能...
- **下拉列表**:提供一种简单的导航方式。 - **交互式 Action 组件**:例如搜索框等,可以直接放置在 ActionBar 内部。 #### 四、ActionBar 在 Activity 中的应用 - **获取 ActionBar**:从 Android 3.0 开始,...
- **setNavigationMode**:设置导航模式,如普通菜单、标签页、下拉列表等。 5. **菜单与快捷方式** - **菜单资源**:在res/menu目录下创建XML文件定义菜单项。 - **onCreateOptionsMenu**:在Activity中重写此...
`Spinner`可以像下拉列表那样显示,而`ActionView`则允许你自定义视图。在`menu_navigation.xml`中,将`<item>`替换为`<spinner>`或`<actionLayout>`,然后在代码中填充数据并设置监听器。 对于`Spinner`: ```...
3. **导航模式**:包括tab导航、下拉列表导航等,方便用户在应用的不同部分之间切换。 4. **选项菜单**:通过点击汉堡菜单(通常在右上角)展开,显示更多的操作选项。 **ViewPager** ViewPager是一种滑动视图容器...
3. 导航模式:提供滑动、下拉列表或标签页等不同的导航方式。 4. 行为切换:例如,搜索栏、设置按钮等,可以方便用户快速访问常用功能。 自定义ActionBar的步骤主要包括以下几点: 1. **启用ActionBar**:在...
- ActionProvider是为菜单项提供更复杂行为的组件,比如下拉列表或日期选择器。 - ActionView可以直接在ActionBar中显示自定义视图,如搜索框。 8. **使用AppCompat库** - 对于支持较低API级别的设备,可以使用...
在Android开发中,经常需要在`ActionBar`中添加下拉列表或搜索功能,以便用户能快速筛选或搜索列表中的内容。这个示例可能详细讲解了如何实现这一功能。 3. **ActionBarUI**:这个名字暗示着这可能是一个关于`...
至于菜单(Menu),在Android中,菜单通常是在ActionBar的下拉列表中显示,或者在某些情况下,如Email应用中,菜单可能被放置在屏幕底部。Menu提供了额外的操作选项,比如设置、帮助等,这些选项在ActionBar空间有限...
3. 下拉列表:可以用来展示更多的选项或者导航层次,例如在菜单中切换不同的活动或视图。 4. 搜索视图:可以提供搜索功能,允许用户在应用中快速查找内容。 5. 切换模式:如汉堡菜单或抽屉式导航,可以展示更多功能...
- 导航模式:包括选项卡、下拉列表、堆栈等,用于在不同视图之间切换。 - 自定义视图:允许开发者添加自定义布局元素,增强交互性。 **2. ActionBar的使用** 在Android项目中,通常通过以下步骤来实现ActionBar: ...
5. **导航模式**:包括Tab导航、下拉列表导航等,为用户提供多种方式在应用的不同部分之间切换。 6. **动作栏扩展**:允许开发者创建自定义视图和扩展动作栏,实现更复杂的交互和展示效果。 【学习和使用...
3. **下拉列表导航**:为了帮助用户进行导航,ActionBar 还支持通过下拉列表的形式提供更多的选项或层级结构。 4. **交互式 Action 组件**:开发者可以在 ActionBar 上集成交互式组件,比如搜索框等,这些组件通常...
综上所述,实现“Android仿微信下拉列表实现(加顶部菜单栏和底部菜单栏)”需要结合`SwipeRefreshLayout`、`RecyclerView`、`Toolbar`、`BottomNavigationView`、`TabLayout`和`ViewPager`等多个组件。通过合理配置...
4. 下拉列表:可以展示多个选项,如切换视图或筛选数据。 5. 自定义视图:开发者可以自定义`ActionBar`的布局,以满足特定需求。 在`Android Studio`中使用`ActionBar`,首先你需要确保你的项目支持API级别11及以上...
4. **动作视图(Action Views)**:除了标准的按钮,还可以在ActionBar中添加自定义视图,例如搜索框或下拉列表,通过`<item name="android:actionLayout">@layout/action_view</item>`定义。 5. **分割线...
List导航通常是通过Spinner组件实现的,它是一个下拉列表,可以展示多个选项。在ActionBar中,Spinner可以用来替代Tab,特别是在屏幕空间有限的情况下。使用`Spinner`时,开发者需要创建一个Adapter,将数据源绑定...