0.总结
actionbar遇到slidingmenu后overlay模式无效,未解决
1.未使用slidingmenu,将actionbar隐藏
隐藏使用代码
ActionBar actionBar = getSupportActionBar(); actionBar.hide();
隐藏的时候回activity 会 re-layout 。所以要设置成overlay模式,即定义activity的
windowActionBarOverlay
to true
.
另外还有一个属性,在布局文件中可能会用到
android:layout_marginTop="?android:attr/actionBarSize"
参考:
http://developer.android.com/guide/topics/ui/actionbar.html
http://developer.android.com/training/basics/actionbar/overlaying.html
2.未使用slidingmenu,将actionbarsherlock隐藏
下面是官方的例子:
参考:https://github.com/JakeWharton/ActionBarSherlock/blob/master/actionbarsherlock-samples/demos/src/com/actionbarsherlock/sample/demos/Overlay.java
requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); super.onCreate(savedInstanceState); setContentView(R.layout.overlay); //Load partially transparent black background getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.ab_bg_black));
3.slidingmenu中关于overlay的例子
(使用的是actionbarsherlock)
并且实现点击展示,2s后小时的功能
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); int pos = 0; if (getIntent().getExtras() != null) { pos = getIntent().getExtras().getInt("pos"); } String[] birds = getResources().getStringArray(R.array.birds); TypedArray imgs = getResources().obtainTypedArray(R.array.birds_img); int resId = imgs.getResourceId(pos, -1); setTitle(birds[pos]); getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY); ColorDrawable color = new ColorDrawable(Color.BLACK); color.setAlpha(128); getSupportActionBar().setBackgroundDrawable(color); getSupportActionBar().setDisplayHomeAsUpEnabled(true); mHandler = new Handler(); ImageView imageView = new ImageView(this); imageView.setScaleType(ScaleType.CENTER_INSIDE); imageView.setImageResource(resId); imageView.setOnClickListener(new OnClickListener() { public void onClick(View v) { getSupportActionBar().show(); hideActionBarDelayed(mHandler); } }); setContentView(imageView); this.getWindow().setBackgroundDrawableResource(android.R.color.black); } @Override public void onResume() { super.onResume(); getSupportActionBar().show(); hideActionBarDelayed(mHandler); } private void hideActionBarDelayed(Handler handler) { handler.postDelayed(new Runnable() { public void run() { getSupportActionBar().hide(); } }, 2000); }
4.碰到slidingmenu,overlay模式会失效(未找到解决方案)
相关推荐
通过熟练掌握搜索、分享、隐藏布局等技巧,以及学习Google Play和微信的优秀设计,你的应用将更加吸引用户,提升用户的使用体验。在实际开发过程中,不断实践和优化,你将能够打造出一款真正弹无虚发的Android应用。
3. 显示和隐藏ActionBar:使用`getSupportActionBar().show()`显示,`getSupportActionBar().hide()`隐藏。 二、自定义ActionBar 1. 使用XML布局:创建一个包含所需视图(如TextView、ImageView)的布局文件,然后...
4. 使用`getSupportActionBar().setDisplayOptions()`方法控制ActionBar的显示选项,如隐藏标题或显示自定义视图。 5. 添加自定义菜单项并覆写`onOptionsItemSelected()`方法处理点击事件。 总之,自定义ActionBar...
`ActionBar`的隐藏和显示功能就是这样一种设计,它可以让用户在查看内容时获得更大的屏幕空间,而在需要操作时又能快速访问菜单。 `ActionBar`的隐藏和显示通常可以通过以下方法实现: 1. **使用`SupportActionBar...
- **动态隐藏/显示 ActionBar**:在运行时,可以通过调用 `ActionBar.hide()` 和 `ActionBar.show()` 方法来动态控制 ActionBar 的可见性。 - **增加 Action Item**: - **Action Item 定义**:实质上是一个 ...
在Jetpack组件中,AppBarLayout是与ToolBar配合使用的一个布局,它可以实现类似ActionBar的滑动效果,如在滚动时隐藏和显示。 总结: Android的ActionBar是构建用户界面的重要组成部分,提供了丰富的功能和定制化...
4. **设置ActionBar的属性**:通过调用`getSupportActionBar()`或`getSupportActionBar().setDisplayOptions()`等方法,可以设置显示或隐藏ActionBar上的图标、标题、副标题等。 5. **处理点击事件**:为自定义...
4. **显示和隐藏ActionBar**:可以使用`getSupportActionBar().show()`和`getSupportActionBar().hide()`方法控制ActionBar的可见性。 5. **使用Navigation Drawer**:ActionBar上的三横线图标可以触发侧滑出的...
1. 可以通过`setCustomView()`方法将自定义布局添加到ActionBar中,实现更复杂的功能,如集成搜索框或下拉菜单。 ```java View customView = getLayoutInflater().inflate(R.layout.custom_action_bar, null); ...
这里的`R.id.action_bar`是ActionBar在布局文件中的ID,需要在主题(Theme)中设置。如果你使用的是AppCompatActivity,那么默认的Toolbar可以作为ActionBar的替代品,可以通过以下方式获取: ```java Toolbar ...
郭霖的博客可能还涉及到了一些高级技巧,比如通过`Theme.AppCompat`系列主题调整ActionBar的样式,以及如何在Fragment中控制ActionBar的显示和隐藏。 总之,理解并熟练运用ActionBar是每个Android开发者必备的技能...
8. **动态加载和隐藏ActionBar**:根据应用需求,可以使用`getSupportActionBar().show()`和`getSupportActionBar().hide()`方法来控制`ActionBar`的可见性。 通过以上知识点,我们可以实现一个具有顶部导航功能的...
可以使用Theme.AppCompat的子主题(如`Theme.AppCompat.Light.NoActionBar`)或在XML布局中使用`<androidx.drawerlayout.widget.DrawerLayout>`来动态隐藏或显示ActionBar。 总之,"Android ActionBar Demo"将向...
- 在XML布局文件中使用`<androidx.appcompat.widget.Toolbar>`作为ActionBar的替代品。 - 在Activity的Java或Kotlin代码中,通过`setSupportActionBar()`方法将Toolbar设置为ActionBar。 4. **添加动作按钮** - ...
本例子旨在介绍如何自定义`ActionBar`的样式,让其符合应用程序的设计需求。 自定义`ActionBar`主要涉及以下几个方面: 1. **主题设置**: 在`AndroidManifest.xml`文件中,针对需要自定义`ActionBar`的Activity...
例如,可以使用`setSupportActionBar()`方法将一个Toolbar设置为`ActionBar`,通过`getSupportActionBar()`获取`ActionBar`对象并调用其方法进行设置,如`setDisplayOptions()`用于设置显示或隐藏某些元素,`...
在代码层面,可以通过`setSupportActionBar()`方法设置ActionBar,然后使用`getSupportActionBar().setDisplayOptions()`方法来控制ActionBar的显示样式,例如显示或隐藏应用的图标和标题。此外,可以使用`setTitle...
2. **配置ActionBar**:通过`setSupportActionBar()`方法启用ActionBar,然后可以使用`getSupportActionBar().setDisplayOptions()`来定制显示样式,例如显示或隐藏应用图标、设置导航模式等。 3. **连接两者**:...
将Toolbar作为父布局的一部分,并通过`setSupportActionBar(toolbar)`将其设置为ActionBar。 ### ActionBar的组成部分 1. **应用图标(Logo/Icon)** 默认情况下,ActionBar会显示应用的图标。使用`...
在Android开发中,为了提供更好的用户体验,我们常常需要模仿知名应用的设计,比如QQ浏览器的滑动隐藏显示ActionBar的效果。这个效果使得用户在浏览网页时,可以通过手势操作来控制ActionBar的可见性,提升浏览的...